24小时热门版块排行榜    

查看: 414  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

chaoweihui

新虫 (初入文坛)

[求助] 新手求助非线性方程组解

我今天试着变了一个程序解非线性方程组,可是计算结果不对,初值我给的是正确解,请高手帮我指导一下
function xfsolve
clear all;clc

x0=[1 0.8 1.5 0.3 5 6666 1000 2345]';x1=fsolve(@abc,x0)

function f=abc(x)
R=8.314;T=1000;
f(1)=19.3+R*T*log(x(1)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+4*x(7);  %x(1)_x(5)五个组分,x(6)=λc,x(7)=λh,x(8)=λo
f(2)=-192.6+R*T*log(x(2)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(8)+2*x(7);
f(3)=-200.6+R*T*log(x(3)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+x(8);
f(4)=-395.9+R*T*log(x(4)/(x(1)+x(2)+x(3)+x(4)+x(5)))+x(6)+2*x(8);
f(5)=R*T*log(x(5)/(x(1)+x(2)+x(3)+x(4)+x(5)))+2*x(7);
f(6)=x(1)+x(4)+x(3)-2;
f(7)=4*x(1)+2*x(2)+2*x(5)-14;
f(8)=x(3)+2*x(4)+x(5)-3;
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

自信
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


xzhdty: 金币+1, 谢谢参与 2013-10-27 08:25:53
下面结果参考下:
x1: 2.00001110466504
x2: 1.32537151762595E-13
x3: 2.46246539795621E-13
x4: 1.08824143288337E-26
x5: 3.00001586674963
x6: -895.270393284408
x7: 2123.50255603622
x8: 255852.51453193
3楼2013-10-26 23:21:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

zhg19

金虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
chaoweihui: 金币+1, 有帮助 2013-10-25 10:41:41
计算结果不对主要和初值设定以及迭代次数限定有关,LZ可尝试:
1、更换初值,使之更接近正确值。
2、增大函数赋值的最大次数options.MaxFunEvals和迭代次数上限options.MaxIter
2楼2013-10-19 00:15:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见