matlab quadprog函数 二次规划的matlab解法
2015-11-24 17:22
1791 查看
二次规划
二次规划为非线性规划的一种,若某非线性规划的目标函数为自变量x 的二次函数,约束条件又全是线性的,就称这种规划为二次规划。
Matlab 中二次规划的数学模型可表述如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/02/c80ecc1e87fc84b0e3c6172a88c6c106)
这里H 是实对称矩阵,f ,b 是列向量,A 是相应维数的矩阵。
Matlab 中求解二次规划的函数为quadprog,他的用法如下:
x = quadprog(H,f)
x = quadprog(H,f,A,b)
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
x = quadprog(problem)
[x,fval] = quadprog(H,f,...)
[x,fval,exitflag] = quadprog(H,f,...)
[x,fval,exitflag,output] = quadprog(H,f,...)
[x,fval,exitflag,output,lambda] = quadprog(H,f,...)
H,f是把目标函数化成标准形式后得到的实对称矩阵,和列向量。
它的返回值是向量x ,X0 是x 的初始值;A,B,Aeq,Beq 定义了线性约束
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/02/b6232c88f1bd8bfa5f35cdca1af6ff82)
,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB
和 UB 是变量 x 的下界和上界,如果上界和下界没有约束,则 LB=[],UB=[],OPTIONS定义了优化参数,可以使用 Matlab 缺省的参数设置。
fval是目标函数值。lambda是Lagrange乘子,它体现哪一个约束有效。output输出优化信息。
例 求解二次规划
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/02/16da0126ae2891a83f1a987b9ddf20a8)
解 编写如下程序:
h=[4,-4;-4,8];
f=[-6;-3];
a=[1,1;4,1];
b=[3;9];
[x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))
求得
![](https://oscdn.geek-share.com/Uploads/Images/Content/202012/02/04557ee9fbc9ebedbfa3383d91e8ed71)
二次规划为非线性规划的一种,若某非线性规划的目标函数为自变量x 的二次函数,约束条件又全是线性的,就称这种规划为二次规划。
Matlab 中二次规划的数学模型可表述如下:
这里H 是实对称矩阵,f ,b 是列向量,A 是相应维数的矩阵。
Matlab 中求解二次规划的函数为quadprog,他的用法如下:
x = quadprog(H,f)
x = quadprog(H,f,A,b)
x = quadprog(H,f,A,b,Aeq,beq)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0)
x = quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)
x = quadprog(problem)
[x,fval] = quadprog(H,f,...)
[x,fval,exitflag] = quadprog(H,f,...)
[x,fval,exitflag,output] = quadprog(H,f,...)
[x,fval,exitflag,output,lambda] = quadprog(H,f,...)
H,f是把目标函数化成标准形式后得到的实对称矩阵,和列向量。
它的返回值是向量x ,X0 是x 的初始值;A,B,Aeq,Beq 定义了线性约束
,如果没有线性约束,则A=[],B=[],Aeq=[],Beq=[];LB
和 UB 是变量 x 的下界和上界,如果上界和下界没有约束,则 LB=[],UB=[],OPTIONS定义了优化参数,可以使用 Matlab 缺省的参数设置。
fval是目标函数值。lambda是Lagrange乘子,它体现哪一个约束有效。output输出优化信息。
例 求解二次规划
解 编写如下程序:
h=[4,-4;-4,8];
f=[-6;-3];
a=[1,1;4,1];
b=[3;9];
[x,value]=quadprog(h,f,a,b,[],[],zeros(2,1))
求得
相关文章推荐
- matlab load
- matlab save 命令
- libsvm之(一)安装与测试(matlab)
- Matlab调用C的时候的一个小备注
- 支撑向量机 SVM 学习笔记(Matlab代码)
- MATLAB中squeeze函数的作用
- Python 读写matlab中.mat文件
- 将sin()与cos()显示在同一个网格里
- Matlab里面.M文件不能运行,预期的图像也显示不出来的一个原因
- Q: How could I use MATLAB interface for parameter selection?
- 如何在matlab中添加工具箱addpath
- matlab 函数调用问题(一)
- MATLAB的cat()函数
- matlab中repmat函数的用法
- 如何使用matlab从视频中提取出一帧帧图像
- matlab初学 第一天
- matlab位运算函数
- 使用matlab中的VideoReader函数读取,保存,显示,播放视频
- Matlab的学生版 价格很便宜呢,相比于商业版
- 关于matlab中数据拟合的一些函数polyfit()