24小时热门版块排行榜    

查看: 1423  |  回复: 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的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★
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的回帖
查看全部 8 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +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

新虫 (初入文坛)

引用回帖:
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的回帖
信息提示
请填处理意见