fmincon函数
今天晚上帮姐姐求一个方程的最值
果断用matlab啊
刚开始想得挺简单的,就是for循环
后来一想计算量太大
百度了一下都是用fmincon这个函数
可是算出来的是最小值
然后又找求最大值的函数
可是找了半天没找到
最后我机智的把函数前面加了一个负号
哈哈
贴一下函数吧,挺简单的
比如说
Y=99.27932+20.21776X1+4.67531X2-5.32589X3-1.26466X1^2-4.79916X2^2-6.13593X3^2-2.50155X1X2-4.77292X1X3-2.61070X2X3
这个方程自变量都在-1.682-1.682之间时Y的最大值。。。
options = optimset('Algorithm','active-set');
[X,FVAL,EXITFLAG] = fmincon(@(x)(-(99.27932+20.21776*x(1)+4.67531*x(2)-5.32589*x(3)-1.26466*x(1)^2-2.50155*x(1)*x(2)-4.79916*x(2)^2-6.13593*x(3)^2-4.77292*x(1)*x(3)-2.61070*x(2)*x(3))),[0 0 0],[],[],[],[],[-1.682 -1.682 -1.682],[1.682 1.682 1.682],[],options)