Undefined function or method 'y' for input arguments of type

问题描述:

Undefined function or method 'y' for input arguments of type 'double
a=0;
b=20;
h=0.2;
M=(b-a)/h;
t=a:h:b;
y1=zeros(1,M+1);
y1(1)=250;
y2=zeros(1,M+1);
y2(1)=200;
y3=zeros(1,M+1);
y3(1)=300;
T(1)=0;
for k=1:M
y1(k+1)=y1(k)+h*(1.3*y(k)-0.25*y1(k)^2-0.0001*y1(k)*T(k));
T(k+1)=T(k)+(h/2)*(y1(k)+y1(k+1));
y2(k+1)=y2(k)+h*(1.3*y(k)-0.25*y2(k)^2-0.0001*y2(k)*T(k));
T(k+1)=T(k)+(h/2)*(y2(k)+y2(k+1));
y3(k+1)=y3(k)+h*(1.3*y(k)-0.25*y3(k)^2-0.0001*y3(k)*T(k));
T(k+1)=T(k)+(h/2)*(y3(k)+y3(k+1));
end
t=t';
y1=y1';
y2=y2';
y3=y3';
plot(t,y1,'b',t,y2,'g',t,y3,'r')
matlab总是报错,什么原因啊
1个回答 分类:综合 2014-11-23

问题解答:

我来补答
报错的原因是你for循环语句中的“y(k)”,y这个变量没有定义.不知道你想怎么设定,我仿照你设定y1、y2在for循环前加以下语句:
y=zeros(1,M+1);
y(1)=250;运行无错,结果如图:
 
 
展开全文阅读
剩余:2000