24小时热门版块排行榜    

查看: 1421  |  回复: 7

xiao__guan

新虫 (初入文坛)

[求助] 1stopt 计算问题

命令如下:

Title "Type your title here";
constant k=1863;
constant m1=14.86;
constant m2=66.80;
constant m3=1.46;
constant m4=17.66;
Parameters x(1:20)[0,1];
Function
0=exp((13836+25.44*k)/8.314/k)*x1^3*x2-x5;
0=exp((35288+204.59*k)/8.314/k)*x1^12*x2^7-x6;
0=exp((18946+25.44*k)/8.314/k)*x1*x2-x7;
0=exp((18566+23.68*k)/8.314/k)*x1*x2^2-x8;
0=exp((-4752.67-75.14*k)/8.314/k)*x1*x2^6-x9;
0=exp((107800+13.44*k)/8.314/k)*x1^3*x3^2-x10;
0=exp((122731+8.85*k)/8.314/k)*x1^2*x3-x11;
0=exp((302587+66.24*k)/8.314/k)*x1^3*x3^2-x12;
0=exp((86231+0.995*k)/8.314/k)*x1*x3-x13;
0=exp((-19512+28.19*k)/8.314/k)*x2^3*x3^2-x14;
0=exp((354932-417.63*k)/8.314/k)*x1^2*x2*x3-x15;
0=exp((1252543-277.06*k)/8.314/k)*x1*x2*x3^3-x16;
0=exp((203172+21.38*k)/8.314/k)*x1^3*x4^2-x17;
0=exp((75158+21.38*k)/8.314/k)*x1*x4-x18;
0=exp((313417-282.66*k)/8.314/k)*x1*x2*x3-x19;
0=exp((2279-13.54*k)/8.314/k)*x2*x4-x20;
0=(0.5*x1+3*x5+12*x6+x7+x8+x9+3*x10+2*x11+3*x12+x13+2*x15+x16+3*x17+x18+x19)*(m1/40+m2/102+m3/64+m4/84)-m1/40;
0=(x2+x5+7*x6+x7+2*x8+6*x9+3*x14+x15+x16+x20)*(m1/40+m2/102+m3/64+m4/84)-m2/102;
0=(x3+x10+x11+2*x12+x13+2*x14+x15+2*x16+x19)*(m1/40+m2/102+m3/64+m4/84)-m3/64;
0=(x4+2*x17+x18+x19+x20)*(m1/40+m2/102+m3/64+m4/84)-m4/84;
0=(x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15+x16+x17+x18+x19+x20)-1;

这个程序计算出的结果:
迭代数: 10740
计算用时(时:分:秒:毫秒): 00:00:22:238
计算中止原因: 达到收敛判定标准
优化算法: 标准简面体爬山法 + 通用全局优化法
目标函数值: 0.337300657640182
x1: 0.00280473183833806
x2: 0.389556948473223
x3: 2.47955133843895E-9
x4: 0.028798627469645
x5: 4.47794033080389E-7
x6: 7.19960278061123E-12
x7: 0.079174458763718
x8: 0.0243537011949764
x9: 7.21467656804983E-12
x10: 0.0181130086301488
x11: 2.49572142641952E-10
x12: 3.93442470085121E-11
x13: 2.20909868564788E-9
x14: 2.29566803469628E-11
x15: 4.50226794231978E-11
x16: 7.36016488772663E-9
x17: 0.000119112732787977
x18: 0.13534118437126
x19: 7.8257263248991E-12
x20: 0.00255012081464932

请问其中的目标函数值是什么意思?
另外 为什么计算出的数值相加不符合第21个方程等于1 的条件?
能否用其他方法进一步计算其数值?
能否用其他方法估算计算的初值使其可以应用于matlab或其他需要赋初值的软件中?
回复此楼

» 猜你喜欢

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

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

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiao__guan: 金币+2, 有帮助 2013-09-03 20:57:12
把解代回原方程的残差和,表示解的精度。
21个方程20个未知数,很难满足所有方程,解只能是近似的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-09-03 18:41:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-09-03 18:41:55
把解代回原方程的残差和,表示解的精度。
21个方程20个未知数,很难满足所有方程,解只能是近似的。

那函数值是越小越好吗?
算了很多次,目标函数值都在0.34 左右, 是否表示该方法已经无法继续优化??
3楼2013-09-03 20:56:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
xiao__guan: 金币+3, ★★★很有帮助 2013-09-16 16:36:32
引用回帖:
3楼: Originally posted by xiao__guan at 2013-09-03 20:56:59
那函数值是越小越好吗?
算了很多次,目标函数值都在0.34 左右, 是否表示该方法已经无法继续优化??...

理想状态下为0。21个方程20个未知数,很少有完美解的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-09-03 20:59:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by 月只蓝 at 2013-09-03 20:59:38
理想状态下为0。21个方程20个未知数,很少有完美解的。...

即使将最后一个方程删去, 解依然变化不大啊
5楼2013-09-04 08:26:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 辛苦了 2013-09-04 13:06:47
去掉最后一个方程,5.0算的结果:

目标函数值(最小): 1.0648202469962E-21
x1: 0.00437883851908341
x2: 0.34215847834201
x3: 2.38789778950921E-7
x4: 0.0197863611761941
x5: 1.49674494864709E-6
x6: 1.98891513976249E-11
x7: 0.108569800331441
x8: 0.0293322423655484
x9: 6.15537849483763E-10
x10: 7.05738130338043E-12
x11: 3.66667811347899E-8
x12: 4.21253375613354E-9
x13: 3.08443362662997E-7
x14: 1.14635795502336E-11
x15: 2.10731677895587E-11
x16: 0.00905621804209686
x17: 0.000213969107469129
x18: 0.145174955071669
x19: 6.36062068449683E-12
x20: 0.00153890350917598
6楼2013-09-04 08:47:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)


jjdg: 金币+1, 感谢建议 2013-09-04 13:07:10
引用回帖:
5楼: Originally posted by xiao__guan at 2013-09-04 08:26:23
即使将最后一个方程删去, 解依然变化不大啊...

参考专家顾问 dingd 的结果,他的结果应该是最好的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
7楼2013-09-04 10:46:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiao__guan

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by 月只蓝 at 2013-09-04 10:46:16
参考专家顾问 dingd 的结果,他的结果应该是最好的。...

那请问如何限制matlab求方程时解的范围?类似于Parameters x(1:20)[0,1]这个命令?
8楼2013-09-04 12:24:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiao__guan 的主题更新
信息提示
请填处理意见