matlab 三元二次函数 如何求 取得最大值时自变量的值y = 0.026662*(0.000867*x1^2+0.004667*x1)+ 5.593748*(-0.000184675*x2^2+0.0959175*x2-9.8812) -3.067962*(-0.1*x3^2+x3+1.3)xyz都有范围.(都大于零)求教具体的解决此问
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 10:51:57
![matlab 三元二次函数 如何求 取得最大值时自变量的值y = 0.026662*(0.000867*x1^2+0.004667*x1)+ 5.593748*(-0.000184675*x2^2+0.0959175*x2-9.8812) -3.067962*(-0.1*x3^2+x3+1.3)xyz都有范围.(都大于零)求教具体的解决此问](/uploads/image/z/1251718-70-8.jpg?t=matlab+%E4%B8%89%E5%85%83%E4%BA%8C%E6%AC%A1%E5%87%BD%E6%95%B0+%E5%A6%82%E4%BD%95%E6%B1%82+%E5%8F%96%E5%BE%97%E6%9C%80%E5%A4%A7%E5%80%BC%E6%97%B6%E8%87%AA%E5%8F%98%E9%87%8F%E7%9A%84%E5%80%BCy+%3D+0.026662%2A%280.000867%2Ax1%5E2%2B0.004667%2Ax1%29%2B+5.593748%2A%28-0.000184675%2Ax2%5E2%2B0.0959175%2Ax2-9.8812%29+-3.067962%2A%28-0.1%2Ax3%5E2%2Bx3%2B1.3%29xyz%E9%83%BD%E6%9C%89%E8%8C%83%E5%9B%B4.%EF%BC%88%E9%83%BD%E5%A4%A7%E4%BA%8E%E9%9B%B6%EF%BC%89%E6%B1%82%E6%95%99%E5%85%B7%E4%BD%93%E7%9A%84%E8%A7%A3%E5%86%B3%E6%AD%A4%E9%97%AE)
matlab 三元二次函数 如何求 取得最大值时自变量的值y = 0.026662*(0.000867*x1^2+0.004667*x1)+ 5.593748*(-0.000184675*x2^2+0.0959175*x2-9.8812) -3.067962*(-0.1*x3^2+x3+1.3)xyz都有范围.(都大于零)求教具体的解决此问
matlab 三元二次函数 如何求 取得最大值时自变量的值
y = 0.026662*(0.000867*x1^2+0.004667*x1)+ 5.593748*(-0.000184675*x2^2+0.0959175*x2-9.8812) -3.067962*(-0.1*x3^2+x3+1.3)
xyz都有范围.(都大于零)
求教具体的解决此问题的函数,谢谢你!
matlab 三元二次函数 如何求 取得最大值时自变量的值y = 0.026662*(0.000867*x1^2+0.004667*x1)+ 5.593748*(-0.000184675*x2^2+0.0959175*x2-9.8812) -3.067962*(-0.1*x3^2+x3+1.3)xyz都有范围.(都大于零)求教具体的解决此问
这是非线性规划问题.目标函数为非线性,没有等式和不等式约束条件,x的取值范围为(0,inf)
首先建立m函数如下:
function f=fun1(x)
f=0.026662*(0.000867*x(1)^2+0.004667*x(1))+5.593748*(-0.000184675*x(2)^2+0.0959175*x(2)-9.8812)-3.067962*(-0.1*x(3)^2+x(3)+1.3);
f=-f;
注意matlab提供的工具箱只能求解最小值问题,将最大值问题转换为最小值问题加个负号就行.然后在命令空间输入以下内容:
>> x0=[1;1;1];
>> Aeq=[];Beq=[];A=[];B=[];
>> vlb=[0;0;0];vhb=[];
>> [x,fval]=fmincon('fun1',x0,A,B,Aeq,Beq,vlb,vhb)
Warning:Trust-region-reflective method does not currently solve this type of problem,
using active-set (line search) instead.
> In fmincon at 422
Optimization terminated:magnitude of directional derivative in search
direction less than 2*options.TolFun and maximum constraint violation
is less than options.TolCon.
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
3
x =
1.0831
259.6927
0
fval =
-10.4064
所以最终结果x1到x3分别为:1.0831,259.6927,0.
最大值为-(-10.4064)=10.4064
关于非线性规划问题的具体用法可以自行百度之.这里警告提示可能使用的优化方法不合适.