Matlab求解有约束条件的二次规划问题

 问题1:

 

%第一问:拉格朗日乘数法
 clc
 clear
 x0 = [1 1 1];                %求根过程的初值
 x=fsolve(@test_fun3,x0)     
 y=x(1)^2+x(2)^2
 %第二问:有约束条件的二次规划问题
H=[2 0;0 2]; %这里H是1/2*二次型矩阵(目标函数)
f=[-2;-4];   %
A=[1,1];
b=[2];
Aeq=[1,-1];  
beq=[-1];    %等式约束条件系数矩阵Aeq和beq
lb=[0;0];    %而约束条件中对变量x1和x2只给出下限,没有给上限,因此ub为空,
[x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,Aeq,beq,lb)
y=(x(1)-1)^2+(x(2)-1)^2
 


function Y=test_fun3(X)
%输入参数X表示由方程组的未知数[ x, y, z]构成的向量
%输出参数Y是一个列向量,Y(i)=第i个方程的左端减右端
x=X(1);
y=X(2);
z=X(3);
Y=[2*x-z*y;2*y-z*x;3-x*y];
end


 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值