24小时热门版块排行榜    

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

夜雨tju

金虫 (小有名气)

[求助] matlab求解非线性方程组 已有2人参与

方程组有36个,未知数为x1-x34,xa,xb,除了未知数,其他都已知,其中两个方程组是定积分,两个上限为未知量,分别为,xa,xb,下限皆为0.初值为
x0=[0.036 0.055 0.04 0.032 0.028 0.031 0.06 0.05 0.05 0.03 360 0.04 0.06 0.05 0.034 0.028 0.03 0.062 0.05 0.055 0.04 365 0.91 0.87 0.89 0.86 0.9 0.88 0.85 0.89 0.88 0.9 5900 20];
xa0=0.01;
xb0=0.01;
开始做了不合理的简化,只解了前f(35),f(36),f(1)-f(11),解释合理的,现在不做简化,四个组分一起列式子,方成数变多,方程组总是不能得到合理的解,请高手指点,如何解这个方程组,小女子不胜感激,由于积分显示不出来,我上传了附件和图片。谢谢各位大神
fff(35)=( K/k1)*∫_0^xa▒〖CA0/(K*CA0*CB0-CC0*CD0-(K*(CA0^2+CA0*CB0)+(CA0*CC0+CA0*CD0)).*x+(K-1)*CA0^2.*x.^2)dx〗 -Lc1/U
fff(36)= =( K/k1)*∫_0^xb▒〖x(11)/(K*x(11)*x(22)-x(33)*x(34)-(K*(x(11)^2+x(11)*x(22))+(x(11)*x(33)+x(11)*x(34))).*x+(K-1)*x(11)^2.*x.^2)dx〗 –Lc2/U

fff(1)=xa-(xa1-x(8))/xa1;
fff(2)=h1/HETP1-(x(4)-x(6))/(K1*x(7)-x(6));
fff(3)=L*(S1+S3+S5)/V*S-(x(4)-x(6))/(xa1-x(7));
fff(4)=x(2)-(x(7)*(S1+S3+S5)+x(8)*(S2+S4))/S;
fff(5)=h2/HETP2-mi*(x(6)-x(5))/(K1*x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-mi*x(5));
fff(6)=L/V-mi*(x(6)-x(5))/(mi*x(2)-x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(7)=h3/HETP3-(HETP4*x(5)-h4*(K1*x(1)-ya1)-ya1*HETP4)/(K1*HETP4*x(9)-h4*(K1*x(1)-ya1)-ya1*HETP4);
fff(8)=L*(S2+S4)/V*S-(HETP4*x(5)-h4*(K1*x(1)-ya1)-ya1*HETP4)*mi/(HETP4*(xa1*M1+xb1*M2+xc1*M3+xd1*M4-mi*x(9)));
fff(9)=xb-(x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-mi*x(10))/(x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(10)=x(3)-(x(10)*(S1+S3+S5)+x(9)*(S2+S4))/S;
fff(11)=L/V-(h4/HETP4)*(K1*x(1)-ya1)/(x(3)-x(1));
fff(12)=xa-(xb1-x(19))/xa1;
fff(13)=h1/HETP1-(x(15)-x(17))/(K2*x(18)-x(17));
fff(14)=L*(S1+S3+S5)/V*S-(x(15)-x(17))/(xb1-x(18));
fff(15)=x(13)-(x(18)*(S1+S3+S5)+x(19)*(S2+S4))/S;
fff(16)=h2/HETP2-mi*(x(17)-x(16))/(K2*x(22)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-mi*x(16));
fff(17)=L/V-mi*(x(17)-x(16))/(mi*x(13)-x(22)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(18)=h3/HETP3-(HETP4*x(16)-h4*(K2*x(12)-yb1)-yb1*HETP4)/(K2*HETP4*x(20)-h4*(K2*x(12)-yb1)-yb1*HETP4);
fff(19)=L*(S2+S4)/V*S-(HETP4*x(16)-h4*(K2*x(12)-yb1)-yb1*HETP4)*mi/(HETP4*(xa1*M1+xb1*M2+xc1*M3+xd1*M4-mi*x(20)));
fff(20)=xb-(x(22)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-mi*x(21))/(x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(21)=x(14)-(x(21)*(S1+S3+S5)+x(20)*(S2+S4))/S;
fff(22)=L/V-(h4/HETP4)*(K2*x(12)-yb1)/(x(14)-x(12));
fff(23)=xa-(x(30)-xc1)/xa1;
fff(24)=h1/HETP1-(x(26)-x(28))/(K3*x(29)-x(28));
fff(25)=L*(S1+S3+S5)/V*S-(x(26)-x(28))/(xc1-x(29));
fff(26)=x(24)-(x(29)*(S1+S3+S5)+x(30)*(S2+S4))/S;
fff(27)=h2/HETP2-mi*(x(28)-x(27))/(K3*x(33)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-mi*x(27));
fff(28)=L/V-mi*(x(28)-x(27))/(mi*x(24)-x(33)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(29)=h3/HETP3-(HETP4*x(27)-h4*(K3*x(23)-yc1)-yc1*HETP4)/(K3*HETP4*x(31)-h4*(K3*x(23)-yc1)-yc1*HETP4);
fff(30)=L*(S2+S4)/V*S-(HETP4*x(27)-h4*(K3*x(23)-yc1)-yc1*HETP4)*mi/(HETP4*(xa1*M1+xb1*M2+xc1*M3+xd1*M4-mi*x(31)));
fff(31)=xb-(mi*x(32)-x(33)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4))/(x(11)*(xa1*M1+xb1*M2+xc1*M3+xd1*M4));
fff(32)=x(25)-(x(32)*(S1+S3+S5)+x(31)*(S2+S4))/S;
fff(33)=L/V-(h4/HETP4)*(K3*x(23)-yc1)/(x(25)-x(23));
fff(34)=(mi-(x(11)-x(22)-x(33))*(xa1*M1+xb1*M2+xc1*M3+xd1*M4))/(xa1*M1+xb1*M2+xc1*M3+xd1*M4)-x(34);matlab求解非线性方程组
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : fff.docx
  • 2015-08-16 11:38:06, 14.64 K

» 猜你喜欢

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

cooooldog

铁杆木虫 (著名写手)

ส็็็

引用回帖:
13楼: Originally posted by 夜雨tju at 2015-08-19 21:17:31
global K CA0 CB0 CC0 CD0 k1 U L V xa1 xb1 xc1 xd1 ya1 HETP1 HETP2 HETP3 HETP4 mi M1 M2 M3 M4 K1
L=1.168;
V=0.7642;
xa1=0.07039;
xb1=0.07198;
xc1=0.85393;
xd1=0.0037;
ya1=0.02176;
yb1=0.02531 ...

看了你的代码,让人更加困惑了,你既然给常数赋值都是标量,为什么放在嵌套循环里面做无用功?

如果这段代码正确的写法是后面缺少两个end

那么你的代码相当于把 两个 end 去掉之后

for m=1:0.5:2;
    for R=0.01:0.01:0.4;

语句换成
m=2; R=0.4;

效果相同,而且少做了循环嵌套中的很多无意义的计算。

建议你不要用代码,而是用word文档和公式的形式,老老实实详细表达自己的问题,否则别人很难理解你的问题是什么
ส็็็็็็็็็็็็็็็็็็็็
15楼2015-08-20 14:13:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

hsdwlxhx

金虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你是这是我遇到的用matlab解的最复杂问题,还是想想怎么简化吧,或者找个新的算法。fsolve这个函数估计是不够用了。

[ 发自小木虫客户端 ]
BringLightonChip
2楼2015-08-16 14:45:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

随机优化中选择合适的,
差分演化,粒子群
再结合fmincon或fsolve里的方法进一步迭代

可能要反复尝试才能找到最合适的参数。
ส็็็็็็็็็็็็็็็็็็็็
3楼2015-08-16 16:10:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夜雨tju

金虫 (小有名气)

引用回帖:
3楼: Originally posted by cooooldog at 2015-08-16 16:10:17
随机优化中选择合适的,
差分演化,粒子群
再结合fmincon或fsolve里的方法进一步迭代

可能要反复尝试才能找到最合适的参数。

大神,我是化工的,对于matlab学的不是很精,你能帮我大体写一下程序么,我自己再摸索一下。这个程序已经困扰我好几个月了,谢谢,谢谢
4楼2015-08-16 16:45:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见