- 函数封装
function [y1,y2] = fun_mp_c(alp,K)
syms c a p1 p2 m barp1 barp2
q=1;n=100;
...
c1=0.01:0.01:0.27;
for i=1:27
cc = @(x)[-(alp*n*(x(1)-c1(i))*(1-x(1)/q)-(1-alp)*n*c1(i)*(1-x(2)/q)-K);
-((1-alp)*n*(x(2)-c1(i))*(1-x(2)/q)-alp*n*c1(i)*(1-x(1)/q)-K)];
%非线性不等式约束,<的形式。自变量x,包括两个自变量x(1)和x(2)
nonlcon = @(x)deal(cc(x),[]);%加上[]的非线性等式约束。
fun = @(x)-(alp*n*(x(1)-c1(i))*(1-x(1)/q)+(1-alp)*n*(x(2)-c1(i))*(1-x(2)/q)-K);
%目标函数。自变量x,包括两个自变量x(1)和x(2)
x0=[0 0];A=[];b=[];Aeq=[];beq=[];lb=[c1(i) c1(i)];ub=[q q];options = optimoptions('fmincon','Display','iter','Algorithm','sqp');
%x0:起始点;A:线性不等式约束(<)左边;b:线性不等式约束(<)右边;Aeq:线性等式约束(<)左边;beq:线性等式约束(<)右边;lb:下限;ub: 上限。
tem=fmincon(fun,x0,