求此题用matlab的程序代码?

求用matlab实现第五题的程序代码,感激不尽!!!... 求用matlab实现第五题的程序代码,感激不尽!!! 展开
 我来答
lhmhz
高粉答主

2020-03-12 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17017

向TA提问 私信TA
展开全部

题主的问题属于数值分析中的迭代法,用于求解一元二次方程的数值解。实现这种方法可以按下列方法来做:

1、使用for循环语句,求解x(n+1),并赋值给临时变量,即ls_n1=x(n+1);ls_n=x(n);

2、使用if判断语句,当|x(n+1)-x(n)|≤1e-5时,停止for循环,给出x的数值解。

3、实现代码

a0=[1 8 10];

b0=[1 3 0.1];

for i=1:3

a=a0(i);b=b0(i);

x(1)=1.0;

for n=1:500

x(n+1)=a/(b+x(n));

ls_n1=x(n+1);ls_n=x(n);

if abs(ls_n1-ls_n)<1e-5

disp(['a=',num2str(a),',b=',num2str(b)])

disp(['r的数值解为']);disp(limt_n1)

r=(-b+sqrt(b^2+4*a))/2;

disp(['r的精确解:']);disp(r)

break

end

ls_n=ls_n1;

end

end

4、运行后,比较结果

更多追问追答
追问
大神,给跪了,以后matlab有不懂得可以私发吗
追答
可以问的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朴实还温和的小好汉1248
2020-03-11 · TA获得超过169个赞
知道小有建树答主
回答量:468
采纳率:53%
帮助的人:45.7万
展开全部
Matlab程序没有,有lingo程序。lingo软件百度一下就有,才几十兆
model:
sets:
city/1..6/:u;
link(city,city):dist,x;
endsets
data:
dist=0 702 454 842 2396 1196
702 0 324 1093 2136 764
454 324 0 1137 2180 798
842 1093 1137 0 1616 1857
2396 2136 2180 1616 0 2900
1196 764 798 1857 2900 0;
enddata
n=@size(city);
min=@sum(link:dist*x);
@for(city(k):@sum(city(i)|i#ne#k:x(i,k))=1;
@sum(city(j)|j#ne#k:x(k,j))=1;);
@for(city(i):@for(city(j)|j#gt#1 #and# i#ne#j:u(i)-u(j)+n*x(i,j)<=n-1););!此项约束用于防止出现子巡回路线;
@for(city(i):u(i)<=n-1);
@for(link:@bin(x));
end
追问
看不懂啊…求matlab的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式