Index exceeds the number of array elements. Index must not exceed 2.
조회 수: 21 (최근 30일)
이전 댓글 표시
Hi. I have an error : Index exceeds the number of array elements. Index must not exceed 2. for line 16. Why ? and How can i fix this problem ?
clc; clear all;
t=[0 1];
h=0.01;
n=(t(2)-t(1))/h;
alpha=0.5;
%initials%
y_m(1)=2;
y_m(2)=exp(20.*h)+cos(h);
f_m(1)=20.*(y_m(1)-cos(t(1)))-sin(t(1));
f_m(2)=20.*(y_m(2)-cos(t(2)))-sin(t(2));
%Midpoint Two step method%
for i=3:n
y_m(i)=y_m(i-2)+2.*h.*f_m(i-1);
f_m(i)=20.*(y_m(i)-cos(t(i)))-sin(t(i));
end
댓글 수: 1
Jan
2022년 5월 23일
Instead of writing "line 16" post a copy of the complete error message. Then the readers do not have to count and most of all: the 16th line is running without a problem, but the 17th fails...
채택된 답변
Jan
2022년 5월 23일
for i=3:n
y_m(i)=y_m(i-2)+2.*h.*f_m(i-1); % <-- This is line 16
f_m(i)=20.*(y_m(i)-cos(t(i)))-sin(t(i)); % <-- This line is failing
end
t(3) is not defined.
댓글 수: 0
추가 답변 (1개)
Voss
2022년 5월 23일
This error happens because t has only two elements, so there is no element t(3).
How to fix it depends on what the code should be doing.
참고 항목
카테고리
Help Center 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!