MATLAB求多元函数的最大值 250
有24个未知量x1~x24,每个未知量分别有一个已知的取值区间,有一组已知的数a1~a24。目标函数是x1^2*a1+x2^2*a2……+x24^2*a24最大,约束条件...
有24个未知量x1~x24,每个未知量分别有一个已知的取值区间,有一组已知的数a1~a24。目标函数是x1^2*a1+x2^2*a2……+x24^2*a24最大,约束条件一是各个未知量的取值范围,二是x1+x2+.....+x24=1。请问这个问题怎么求x1~x24的解,应该用遗传算法还是fmincon函数之类的?求具体代码
展开
1个回答
展开全部
有24个未知量x的多元函数的最大值,理论上可以用fmincon函数或ga遗传算法来求解。但必须注意对于低版本的matlab求解是有点困难,所以应该优先考虑使用j高版本来解答。
由于matlab的实践性很强数学软件,具体的问题有相应的解决方案。所以题主最好把问题摆出来,这样可以针对性地帮你解决。
fmincon函数和ga函数使用格式,并不复杂。其调用格式
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
式中:fun——自定义目标函数,x0——x的初值,A,b——不等式条件,Aeq,beq——等式条件,lb,ub——x的上界和下界,nonlcon——自定义约束函数
x= ga(fitnessfun, nvars)
式中:fitnessfun——自定义函数, nvars——变量数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询