CVX学习

感谢up主,学习视频:https://www.bilibili.com/video/BV1UQ4y1K7Vf/?spm_id_from=333.999.0.0&vd_source=2314316d319741d0a2bc13b4ca76fae6
CVX是MATLAB的一个软件包,主要求解凸优化问题。下载安装过程可百度,在此不赘述。

% CVX module
cvx_begin % 接下来MATLAB就知道采用的是CVX模块
define variable; % 声明变量是什么
minimize(objective expression) % 目标函数,min/max,关于决策变量的一个表达式 
subject to % 表示约束条件
constraint1 <=0;
constraint2 >=0;
constraint3 ==0;
variable == set; % 决策变量可能属于某个集合 【可不写】
cvx_end % 模块结束

1.创建模型
cvx_begin:
cvx_begin quiet: 求解的过程不显示在命令窗口;
cvx_begin sdp: 表示接下来求解的是一个SDP问题
cvx_begin gp: 表示接下来求解的是一个几何规划问题
cvx目前可以求解:线性规划、二次规划、凸二次约束二次规划、SOCP、半定规划、几何规划。除了SDP和GP,需要写,其他的不用。因为它自身可以判定的。
2.定义变量
variable x(20); 表示20维的向量是我们的决策变量
variable y(20,30) complex; 表示2030的矩阵且为复数的y变量
variable X(20,20) symmetric; 表示20
20的对称矩阵 X变量
variables x(20) Y(10,20); 表示有两个决策变量,可以写一起。注意variable加s
3.定义目标函数(必须是凸的)【这里以min为例】在这里插入图片描述
Q是半正定的,norm(Ax-b,1)是1范数,不写默认2范数。不仅限于以上。
4.约束条件
在这里插入图片描述
在这里插入图片描述
其他设置
在这里插入图片描述
第一个求解精度设置
第二个是CVX里面封装了几个solver(不付费的好像是两个:sdpt3【默认】和sedumi)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值