用matlab求解方程二次规划问题
1、开始第一步我们打开在电脑桌面找到matlab小程序,然后鼠标右击打开桌面上matlab程序,运行起来。由于不同人电脑的配置不一样,软件打开的速度也有所不同,一般固态硬盘比机械硬盘运行的要快好多。大家稍微等待一下。

2、我们为了便于保存数据,我们点击matlab左上角新建脚本命令,创建新的脚本,创建M文件,也便于程序的保存,我们可以将其保存在电脑的其他盘,以便于我们的寻找和使用,这也是比较常见的方式。

3、这是一个常见的二次规划的方程,有目标函数,有约束条件,让其在约束条件的情况下求其的最优解和最优值
下面问题有五个约束条件
求约束条件的最小值

4、首先我们将方程里面的数值以矩阵的形式表示出来
具体情况如下

5、在新建脚本命令输入窗口输入程序
>>clear all;
注意书写的方式哦
关闭所有正在运行的matlab程序,以便于我们的程序的运行和使用
也可以让我们得到的结果更加的准确

6、输入程序:
>> H=[1 -2;-2 4];
这是目标函数的系数

7、输入程序
c=[-3;-5];
这是目标函数系数

8、输入程序:
A=[1 1;-1 2;3 -2];
这是线性不等式约束

9、输入程序
b=[5; 2; 3];
>> lb=zeros(2,1);
zeros功能是返回一个m×n×p×...的double类零矩阵

10、输入程序:
>> [x,fval,exitflag,output,lambda]=quadprog(H,c,A,b,[],[],lb)
记住字母书写的方式
以及输入状态

11、最优解为:
>> clear all;
>> H=[1 -2;-2 4];
c=[-3;-5];
A=[1 1;-1 2;3 -2];
b=[5; 2; 3];
lb=zeros(2,1);
[x,fval,exitflag,output,lambda]=quadprog(H,c,A,b,[],[],lb)
最优解
x =
2.5000
2.2500

12、最优值为
>> clear all;
>> H=[1 -2;-2 4];
c=[-3;-5];
A=[1 1;-1 2;3 -2];
b=[5; 2; 3];
lb=zeros(2,1);
[x,fval,exitflag,output,lambda]=quadprog(H,c,A,b,[],[],lb)
最优质值
fval =
-16.7500
