如何用Matlab解决带参数的非线性约束问题? 100
带参数(指的是数学题中用字母当作已知数的参数)!!![x,fval]=fmincon('fun',x0,A,b,Aeq,beq,lb.un.nonlcon,options...
带参数(指的是数学题中用字母当作已知数的参数)!!![x,fval]=fmincon('fun',x0,A,b,Aeq,beq,lb.un.nonlcon,options)
(这个参数要作为约束条件) 展开
(这个参数要作为约束条件) 展开
1个回答
展开全部
如何用Matlab解决带参数的非线性约束问题?从目前matlab软件的能力,还不具备解决这类问题。fmincon函数可以解决下列类型的问题:
min f(x)=100*(x2-x1^2)^2 + (1-x1)^2
st. x1+2x2≤1; x1、x2>0
求解过程:
fun = @(x)100*(x(2)-x(1)^2)^2 + (1-x(1))^2; %自定义极小值函数
x0 = [-1,2]; %确定x的初值
A = [1,2]; %左约束条件方程的系数
b = 1; %右约束条件方程的系数
[x,fval]= fmincon(fun,x0,A,b) %求x1—x(1),x2—x(2)的值,fval—100*(x2-x1^2)^2 + (1-x1)^2的最小值
执行结果。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询