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
展开
 我来答
时砂之王的
2013-05-26 · TA获得超过105个赞
知道答主
回答量:65
采纳率:0%
帮助的人:53.5万
展开全部
第一行就错了,,,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
更多追问追答
追问
我运行试了一下,没有返回任何结果啊,我要输出y(n+1),x(n
+1),p(n).最好是能输出以自变量为t,因变量为y(n+1),x(n +1),p(n).的图像,谢谢您的热心回答。
追答
= =

运行完后结果保存了,得到的是x,y,p三个向量,
你又没有加显示的代码,,怎么会输出图像,,
你把原问题发上来吧,,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式