MATLAB迭代算法问题

dy=2.112*exp(19.837-13636/y)-0.005*y+3.201,dy为y的增量,每次算一次都要叠加上去。y的初值是640,终值为670。求出迭代次数... dy=2.112*exp(19.837-13636/y)-0.005*y+3.201,
dy为y的增量,每次算一次都要叠加上去。
y的初值是640,终值为670。
求出迭代次数及依次的解。
展开
 我来答
宝宝表白
2011-06-15 · 超过22用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:0
展开全部
y =

640.0000
640.4870
640.9794
641.4776
641.9816
642.4917
643.0081
643.5309
644.0605
644.5970
645.1408
645.6920
646.2509
646.8178
647.3930
647.9769
648.5697
649.1719
649.7837
650.4055
651.0379
651.6811
652.3356
653.0021
653.6808
654.3724
655.0775
655.7967
656.5306
657.2799
658.0454
658.8279
659.6281
660.4471
661.2858
662.1452
663.0265
663.9308
664.8596
665.8143
666.7963
667.8074
668.8494
669.9244
671.0345
迭代次数 i=45 (初始为640算作第一次)
代码:
y=zeros(100,1);
y(1,1)=640;
i=1
while i<100 & y(i,1)<=670
y(i+1,1)=y(i,1)+2.112*exp(19.837-13636/y(i,1))-0.005*y(i,1)+3.201
i=i+1
end
love萱草无忧
2011-06-15 · TA获得超过143个赞
知道答主
回答量:38
采纳率:0%
帮助的人:39.7万
展开全部
clear all;
clc;
y=640;
i=1;
while y<=670;
if ceil(y)==670 % 判断y是否等于670,是跳出while循环,否就需执行
return;
else
dy=2.112*exp(19.837-13636/y)-0.005*y+3.201;
y=y+dy;
mat(i)=dy; % 存储每一次的dy值
i=i+1; % i的终值为迭代次数
end
end
追问
要附带输出各阶段的y值,这点怎么办?
追答
在y=y+dy;下一步加一个 ymat(i)=y;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式