lingo非线性优化问题,目标函数有点复杂

model:sets:wilson/r1..r7/:x,y;pre/1/:G1,G2;link(wilson,pre);endsetsDATA:xy=0.20127.04... model:
sets:
wilson/r1..r7/:x,y;
pre/1/:G1,G2;
link(wilson,pre);
endsets
DATA:
x y= 0.2012 7.04
0.3013 9.19
0.3987 10.61
0.4993 11.11
0.5994 10.32
0.7023 9.51
0.7998 7.3;
V1= 159.53;
V2= 157.13;
T= 298.15;
enddata
min = @sum (link:(y-(1-x)*((x*(V1/V2)*@exp(-(G1/(8.314*T))))/(1-x+x*(V1/V2)*@exp(-(G1/(8.314*T)))))*G1
+x*((1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))/(x+(1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))*G2)^2);
@for(PRE:@free(G1);@free(G2);
@FOR(WILSON:@FREE(X);@FREE(Y));
end

能运算出来,但是答案不是很对,而且我将y-换成-y,答案也不一样,不懂出了什么问题
展开
wswhk
2012-08-09 · TA获得超过7.1万个赞
知道顶级答主
回答量:4.6万
采纳率:68%
帮助的人:7.3亿
展开全部
model:
sets:
wilson/r1..r7/:x,y;
pre/1/:G1,G2;
link(wilson,pre);
endsets
DATA:
x y= 0.2012 7.04
0.3013 9.19
0.3987 10.61
0.4993 11.11
0.5994 10.32
0.7023 9.51
0.7998 7.3;
V1= 159.53;
V2= 157.13;
T= 298.15;
enddata
min = @sum (link:(y-(1-x)*((x*(V1/V2)*@exp(-(G1/(8.314*T))))/(1-x+x*(V1/V2)*@exp(-(G1/(8.314*T)))))*G1
+x*((1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))/(x+(1-x)*(V2/V1)*@exp(-(G2/(8.314*T))))*G2)^2);
@for(PRE:@free(G1);@free(G2));
@FOR(WILSON:@FREE(X);@FREE(Y));
end

不对那你用global solver解试试 你这种目标函数本来用lingo求最多也就是求个大概 要是什么函数lingo都能求准了那数学就不用做了
更多追问追答
追问
其实我用1stopt算的比较准,但是再复杂点的函数1stopt就算不了了,毕竟用的是盗版。。。正确的是
G1 108.973017425358
G2 -62.8678190350054
在1stopt中,目标函数直接就是y=...就行了,用lingo改成了残差的平方和最小求最小二乘,我想知道是不是我的目标函数设定的问题?
追答
恐怕不是吧 你看看哪个结果小就知道哪个对了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式