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!