你好,想向你咨询用matlab求多元二次函数最大值的问题。希望能够得到你的帮助,非常感谢! 10

y=2842.13+1.62*x1-4.89*x2-5.79*x3+3.28*x4-2.20*x5+0.001*x1^2+0.003*x2^2+0.004*x3^2+0.... y=2842.13+1.62*x1-4.89*x2-5.79*x3+3.28*x4-2.20*x5+0.001*x1^2+0.003*x2^2+0.004*x3^2+0.003*x4^2+0.001*x5^2-0.004*x1*x2-0.0008*x1*x3+0.004*x1*x4-0.001*x1*x5+0.008*x2*x3-0.003*x2*x4+0.004*x2*x5-0.008*x3*x4+0.0008*x3*x5-0.004*x4*x5。x1、x2、x3、x4、x5的范围均为50-500 展开
 我来答
帐号已注销
2021-10-15 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

这是二次规划,用quadprog函数解决。不过要首先把目标函数前加负号,然后写成标准的二次型样式。这是因为quadprog求解的是最小值。

先直接定义x1=50:500;x2=50:500;x3=50:500;x4=50:500;x5=50:500,然后定义y=2842.13+1.62*x1-4.89*x2-5.79*x3

+3.28*x4-2.20*x5+0.001*x1.^2+0.003*x2.^2+0.004*x3.^2+0.003*x4.^2+0.001*x5.^2-0.004*x1.*x2-0.0008*x1.*x3+0.004*x1.*x4

-0.001*x1.*x5+0.008*x2.*x3-0.003*x2.*x4+0.004*x2.*x5-0.008*x3.*x4+0.0008*x3.*x5-0.004*x4.*x5此处请注意,x1,x2,x3,x4,x5之间的互乘和自身的2次方均用用“ .* ”,即点乘最后,max(y),即可得出最大值。

注意:

“变量”不同于“未知数”,不能说“二次函数是指未知数的最高次数为二次的多项式函数”。“未知数”只是一个数(具体值未知,但是只取一个值),“变量”可在一定范围内任意取值。

在方程中适用“未知数”的概念(函数方程、微分方程中是未知函数,但不论是未知数还是未知函数,一般都表示一个数或函数——也会遇到特殊情况),但是函数中的字母表示的是变量,意义已经有所不同。从函数的定义也可看出二者的差别。

WM_THU
2014-02-26 · TA获得超过7164个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3933万
展开全部
这是二次规划,用quadprog函数解决。
不过要首先把你的目标函数前加负号,然后写成标准的二次型样式。这是因为quadprog求解的是最小值。
具体做法参考:
http://wenku.baidu.com/link?url=3ecoMLdwm0_pBHbL87_ZzVCW69OCwMimqWKqKk28r_Wo-9O1P8hkvW-hMIa5C-KT9ToQ8D7Puwr_IaS-qv9NcjGUp9GmWQqk9mQPOgY9l3y
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-02-26
展开全部
先直接定义x1=50:500;x2=50:500;x3=50:500;x4=50:500;x5=50:500
然后定义y=2842.13+1.62*x1-4.89*x2-5.79*x3+3.28*x4-2.20*x5+0.001*x1.^2+0.003*x2.^2+0.004*x3.^2+0.003*x4.^2+0.001*x5.^2-0.004*x1.*x2-0.0008*x1.*x3+0.004*x1.*x4-0.001*x1.*x5+0.008*x2.*x3-0.003*x2.*x4+0.004*x2.*x5-0.008*x3.*x4+0.0008*x3.*x5-0.004*x4.*x5
此处请注意,x1,x2,x3,x4,x5之间的互乘和自身的2次方均用用“ .* ”,即点乘
最后,max(y),即可得出最大值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式