24小时热门版块排行榜    

查看: 1998  |  回复: 7

雁南飞6698

至尊木虫 (著名写手)

恶人谷谷主

[求助] 请教一个四元二次方程的极大值

Y=87.299+2.44X1+0.969X2+2.6X3+0.172X4+0.3X1X1+0.398X1X2-0.419X1X3-0.261X1X4+0.675X2X2+ 0.618X2X3+0.401X2X4-1.2X3X3-0.098X3X4-1.575X4X4

方程如上,就是要求出这个四元二次方程的极大值,X1,X2,X3,X4取值在-2~+2之间,不仅要极大值,还有方程取极大值时这四个自变量的值。听说matlab可以很方便地解出来,可惜我不会使用那个大型软件。如果能给出过程更好。结果的形式不要以图片的形式发上来,谢谢~我是化学专业的,不会呵呵
回复此楼

» 猜你喜欢

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

成功,源自执著
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuyx_78

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
这个用matlab计算,要选择一个好的初值不容易.不如直接用求驻点的方法,手工求解.这是二次函数,对每个变量求偏导且令偏导数等于零得到关于四个变量的四元一次方程,手工就可以求得精确的驻点.再比较驻点与边界处的函数值就可以求出要求的.
2楼2012-07-09 16:37:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

雁南飞6698

至尊木虫 (著名写手)

恶人谷谷主

引用回帖:
2楼: Originally posted by xuyx_78 at 2012-07-09 16:37:11
这个用matlab计算,要选择一个好的初值不容易.不如直接用求驻点的方法,手工求解.这是二次函数,对每个变量求偏导且令偏导数等于零得到关于四个变量的四元一次方程,手工就可以求得精确的驻点.再比较驻点与边界处的函数 ...

哥哥,您说的那些我真心不懂,更不会手动计算。只希望重赏之下必有勇夫帮我代劳
成功,源自执著
3楼2012-07-09 16:42:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
雁南飞6698: 金币+10, ★★★★★最佳答案, 我喜欢直接的 2012-07-09 17:56:44
1stOpt求解,两句话:
CODE:
ParameterDomain = [-2,2];
MaxFunction 87.299+2.44*X1+0.969*X2+2.6*X3+0.172*X4+0.3*X1*X1+0.398*X1*X2-0.419*X1*X3-0.261*X1*X4+
            0.675*X2*X2+ 0.618*X2*X3+0.401*X2*X4-1.2*X3*X3-0.098*X3*X4-1.575*X4*X4;

目标函数值(最大): 101.498764681482
x1: 2
x2: 2
x3: 1.24488886605106
x4: 0.104762170420606
4楼2012-07-09 17:31:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

whyhow

铁杆木虫 (著名写手)

带你飞翔

引用回帖:
3楼: Originally posted by 雁南飞6698 at 2012-07-09 16:42:27
哥哥,您说的那些我真心不懂,更不会手动计算。只希望重赏之下必有勇夫帮我代劳...

你是有两千多个币币的富人, 拿十个出来好意思说重赏嘛!
青春有千万种,却没有一种可以重来
5楼2012-07-09 17:42:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

雁南飞6698

至尊木虫 (著名写手)

恶人谷谷主

引用回帖:
5楼: Originally posted by whyhow at 2012-07-09 17:42:40
你是有两千多个币币的富人, 拿十个出来好意思说重赏嘛!...

2000个在论坛只能算中下等呵呵
成功,源自执著
6楼2012-07-09 17:51:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meihongjiang

金虫 (正式写手)

请以矩阵表示来求解
7楼2012-07-09 19:46:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_haizeng

银虫 (小有名气)

用Maplea求解
Y := 87.299+2.44*X1+.969*X2+2.6*X3+.172*X4+.3*X1*X1+.398*X1*X2-.419*X1*X3-.261*X1*X4+.675*X2*X2+.618*X2*X3+.401*X2*X4-1.2*X3*X3-0.98e-1*X3*X4-1.575*X4*X4
> maximize(Y, X1 = -2 .. 2, X2 = -2 .. 2, X3 = -2 .. 2, X4 = -2 .. 2, location);
print(`output redirected...`); # input placeholder
  101.4987647, {[

    {X1 = 2., X2 = 2., X3 = 1.244888877, X4 = 0.1047621873},

    101.4987647]}
输出结果是:
101.4987647, {[{X1 = 2., X2 = 2., X3 = 1.244888877, X4 = .1047621873}, 101.4987647]}
8楼2012-07-10 15:15:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 雁南飞6698 的主题更新
信息提示
请填处理意见