matlab 题!!!!
来源:百度知道 编辑:UC知道 时间:2024/05/16 11:40:42
x1=5.93;
Delta=0.003
x=x0:Delta:x1;
i=1;
y(i)=0.26;
while (x(i)<x1)
y(i+1)=y(i)+Delta*(-y(i)+(x(i).^2+x(i)+1)*y(i).^2);
i=i+1;
end;
plot(x,y);
??? Attempted to access x(1978); index out of bounds because numel(x)=1977.
Error in ==> Untitled1 at 16
while (x(i)<x1)
后面出现错误了
图出不来
请问怎么修改啊
X0=0
改了
plot(x,y(1:end-1))
还是不对,
??? Attempted to access x(1978); index out of bounds because numel(x)=1977.
Error in ==> Untitled1 at 16
while (x(i)<x1)
Delta=0.003
x=x0:Delta:x1;
i=1;
y(i)=0.26;
while (x(i)<x1)
y(i+1)=y(i)+Delta*(-y(i)+(x(i).^2+x(i)+1)*y(i).^2);
i=i+1;
end;
plot(x,y);
??? Attempted to access x(1978); index out of bounds because numel(x)=1977.
Error in ==> Untitled1 at 16
while (x(i)<x1)
后面出现错误了
图出不来
请问怎么修改啊
X0=0
改了
plot(x,y(1:end-1))
还是不对,
??? Attempted to access x(1978); index out of bounds because numel(x)=1977.
Error in ==> Untitled1 at 16
while (x(i)<x1)
你的y比x多一个数据。
你求y是求下一个y,所以在最后一个x时,就不要再求y了。
不过也可以直接修改作图的时候
plot(x,y(1:end-1))
即可
x0是什么?
将while的条件判断改为:
i<numel(x)
与x(i)<x1等价的,因为数组x的数据是递增的.
,但后者最后一次判断时,i的数值会到1978,而数组x只有1977个,所以数组越界.
while内的i=i+1;在终止循环的时候i=1978,但是x只有1977个元素,所以越界
x的维数不对,你检查x和y的维数,他们相等才能绘图。注意你的循环过程
rt