如何用matlab计算这个多元方程的极值?

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:40:25
有这样一个方程:
Y=63.74143+0.644167x1+1.73x2+1.2x3+0.406667x4-1.34744x1^2-0.15375x1x2-0.02625x1x3-0.42875x1x4-0.70494x2^2-0.455x2x3-0.005x2x4-0.09244x3^2+0.1275x3x4-1.52494x4^2
x1,x2,x3,x4的取值范围都是(-2,2)
怎么编写matlab程序来求这个函数的极值?
谁能帮我把详细的程序写出来,我是个新手,毕业论文里涉及到这方面内容.快答辩了,着急啊!!最好我直接复制过去就能出结果.谢谢大家!!!
如果方便请将原文件发到我信箱42303090@qq.com

clear;clc;
A= [-2*1.34744 -0.15375 0.02625 -0.42875
-0.15375 -2*0.70494 -0.455 -0.005
0.02625 -0.455 -2*0.09244 0.1275
-0.42875 -0.005 0.1275 -2*1.52494];
b=[0.644167;1.73;1.2;0.406667];
c=63.741473;

[sol,val]=quadprog(A,b,[],[],[],[],[-2 -2 -2 -2]',[2 2 2 2]');
disp('最小值')
sol=sol',val=c+val
[sol,val]=quadprog(-A,-b,[],[],[],[],[-2 -2 -2 -2]',[2 2 2 2]');
disp('最大值')
sol=sol',val=c-val

model:
max=63.74143+0.644167*x1+1.73*x2+
1.2*x3+0.406667*x4-1.34744*x1^2-0.15375*x1*x2
-0.02625*x1*x3-0.42875*x1*x4-0.70494*x2^2
-0.455*x2*x3-0.005*x2*x4-0.09244*x3^2+0.1275*x3*x4-1.52494*x4^2;
@BND(-2,x1,2);@BND(-2,x2,2);@BND(-2,x3,2);@BND(-2,x4,2);
end