matlab求解for循环,哪里出错了??求改正!
x(0)=100;y(0)=100;p(0)=10;t=1;forn=0:1:1000;n=n+1;ifn<=1000,y(n+1)=4*x(n)+(1-0.1*t)*y...
x(0)=100;y(0)=100;p(0)=10;t=1;
for n=0:1:1000;
n=n+1;
if n<=1000,
y(n+1)=4*x(n)+(1-0.1*t)*y(n);
x(n+1)=4*y(n+1)-0.1*p(n)^2+(1-t)*x(n);
p(n)=sqrt(40*y(n)-x(n));
else
end 展开
for n=0:1:1000;
n=n+1;
if n<=1000,
y(n+1)=4*x(n)+(1-0.1*t)*y(n);
x(n+1)=4*y(n+1)-0.1*p(n)^2+(1-t)*x(n);
p(n)=sqrt(40*y(n)-x(n));
else
end 展开
展开全部
第一行就错了,,,x(0) 是错误表达,序数最小为1,,改成x(1)
修改如下:
%%%%%% if 语句没起到用处,,n = n+ 1不需要,for n = 1:1001已经定义了n 从1到1001
x(1)=100;y(1)=100;p(1)=10;t=1;
for n=1:1001;
y(n+1)=4*x(n)+(1-0.1*t)*y(n);
p(n)=sqrt(40*y(n)-x(n));
x(n+1)=4*y(n+1)-0.1*p(n)^2+(1-t)*x(n);
end
修改如下:
%%%%%% if 语句没起到用处,,n = n+ 1不需要,for n = 1:1001已经定义了n 从1到1001
x(1)=100;y(1)=100;p(1)=10;t=1;
for n=1:1001;
y(n+1)=4*x(n)+(1-0.1*t)*y(n);
p(n)=sqrt(40*y(n)-x(n));
x(n+1)=4*y(n+1)-0.1*p(n)^2+(1-t)*x(n);
end
更多追问追答
追问
我运行试了一下,没有返回任何结果啊,我要输出y(n+1),x(n
+1),p(n).最好是能输出以自变量为t,因变量为y(n+1),x(n +1),p(n).的图像,谢谢您的热心回答。
追答
= =
运行完后结果保存了,得到的是x,y,p三个向量,
你又没有加显示的代码,,怎么会输出图像,,
你把原问题发上来吧,,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询