///
cvx安装
本部分为2019年9月刚接触cvx所写,比较浅薄,适合刚接触的人。
1、先去cvx官网下载cvx安装包。这里也有一份安装包,亲测可以使用 cvx安装包2.0
cvx3.0
2、将cvx安装包拷贝到matlab文件的bin目录下
3、打开matlab,打开bin目录下的cvx文件夹
4、命令行窗口输入 cvx_setup 回车 等待安装
如图中所示,就表明安装成功啦
///
以下为2020.6月,用了cvx也有一段时间了,中间在更换matlab 中的cvx版本时出现过各种各样的错误,也出现过cvx官网。
关于cvx更换版本错误的描述:
更换cvx版本时,(比如cvx2版本不支持log2函数,cvx3支持),直接按照上面的安装步骤来就行,不需要移除原先的cvx安装包。
在更换的安装过程中,一般会出现错误的,下面有两个典型的解决方法:
1.仔细阅读matlab的错误描述信息,有时候会提升你输入clear classes,此时输入就行,然后安装就行了。
2.有时,给出的警告是,cvx的什么什么路径(具体忘了,狗头)已经存在,这个也会导致安装失败。在网上找了很久发现如下代码:
restoredefaultpath;matlabrc
输入这个,再安装就可以了。亲测过很久电脑的cvx更换版本,上面两个方法百试不爽。
关于cvx换mosek求解器:
关于官网上的下载页面,下载的那个cvx版本好像是cvx2.2版本的,3.0版本的好像要自己找一下(我上面也有给下载链接)。注意到上方标准版图中是4个求解器,但实际上安装之后,用cvx_solver 命令查看只有sdpt3 和sedumi两个求解器,后面两个是需要license的,这时假如我们是大学生的话,可去cvx官网申请这个license,具体操作如下:
在这个页面填上邮箱(注意一般要学校的邮箱,这个每个学校学生应该是有自己的),校名(注意一定要英文完整校名),申请好之后是秒发的,我当时总共才花了几分钟。
收到的邮件是这个cvx_license.dat。
然后你可以把这个cvx_license.dat放到cvx目录下,(其实也可以任意目录,加绝对路径就行了)
然后执行
cvx_setup cvx_license.dat
就可以了。你可以用cvx_solver 查看一下,会多了一个mosek求解器,至于gurobi,好像是没有的。
记录这个的目的是方便你我他,自己刚接触这个的时候没有人带简直头大,主要关于cvx的一些资料真的太少了,搞资源优化的不像编程,网上的中文参考实在太少。后面我会再更新一些简单的判断cvx约束是否是凸的一些经验。另外cvx是不接受太小的数,在处理时为认为时Nan求解失败等一系列问题。