matlab解方程组的数值解。。

用matlab解方城组,如下图,用matlab接出了k值,k =5.552227231845395,但是将k值带入不同的方程中得出的是不同的R值,代入第一个是R= 3.904337445943242e+04,代入第二个得出的是R是二百多,为什么不一样???这是matlab代码:function y=fun1clear allformat longk=fzero('10^x-64233.265306122*x',5)R=0.35*10^(k/1.1)

第1个回答  2017-12-20

出错原因是,fzero()的初值x0选择不对。x0应该取0

k=fzero('10^x-64233.265306122*x',0)

但其计算误差也比较大。

建议你使用solve()求解。

>>syms R k

>>[R,k]=solve(R-0.35*10^(k/1.1),R^2-14306.5*k);

>>R=double(R),k=double(k)

>>0.35*10^(k/1.1)   %验算

>>sqrt(14306.5*k)   %验算

运行结果

k =      1.55688153855924e-05

R =     0.350011406533846

本回答被网友采纳
相似回答