这是非线性规划问题.目标函数为非线性,没有等式和不等式约束条件,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
关于非线性规划问题的具体用法可以自行百度之.这里警告提示可能使用的优化方法不合适.
matlab 三元二次函数 如何求 取得最大值时自变量的值
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都有范围.(都大于零)
求教具体的解决此问题的函数,谢谢你!
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都有范围.(都大于零)
求教具体的解决此问题的函数,谢谢你!
数学人气:653 ℃时间:2019-12-18 19:30:36
优质解答
我来回答
类似推荐
猜你喜欢
- 1在压力一定的条件下,静摩擦力的大小是可以变化的,但有一个限度,限度是什么?
- 2用英语写一篇150词左右的关于环保的文章,好者追加分数
- 3一块橡皮擦的体积是8( ),一台电冰箱的容积是( ).
- 4下列家用电器正常工作10秒钟消耗电能最多的是( ) A.电视机 B.笔记本电脑 C.洗衣机 D.空调
- 5如图所示的电路中,电源电压保持6V不变,小灯泡标有“6V 3.6W”的字样.当闭合开关S,测得小灯泡功率为2.5W.(设灯泡电阻不随温度变化)
- 6修一段路,甲对单独修12天后,由乙对接着单独修6天完成.已知如果甲、乙两对合修10天能完成,甲、乙两队各
- 7岩土勘察,已知土工试验出来的天然密度,干密度,饱和度,含水量,怎么求饱和密度?
- 8根号2分之9减根号98分之3的差乘于2倍根号2 等于多少
- 9the duck can swim的一般疑问句
- 10用丝绸摩擦玻璃棒,可使玻璃棒带电;被毛皮摩擦过的橡胶棒也会带电.