CVX安装,注册,测试教程

1. CVX下载

网站:cvx下载地址

按照对应的设备安装即可

2. 安装 

1. 解压到某文件夹,不用和matlab同一文件夹

2. matlab工作区,cd到该位置

3. cvx_setup

cd D:\qxh\cvx-w64
cvx_setup

3. 查看ID并注册 

1. 在matlab中查看user name和host ID

cvx_version

 2. 使用校园邮箱申请CVX许可,每个邮箱好像可以申请2个许可 

 

网址: Licensing | CVX Research, Inc.

 

选择“Academic licensing” page并且按步骤安装

之后,邮箱会收到来自CVX的licence文件,licence.dat

4. 最终注册并测试 

1. cd到文件位置并安装licence.dat文件,以我自己的论文为例有需要可以复制并更改为自己的文件夹

cvx_setup D:/qxh/cvx_license.dat

测试代码块:

m = 20; n = 10; p = 4;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1); e = rand;
cvx_begin
    variable x(n)
    minimize( norm( A * x - b, 2 ) )
    subject to
        C * x == d
        norm( x, Inf ) <= e
cvx_end

以上代码块来源于网络 ,测试结果如下

%工作区测试
>> m = 20; n = 10; p = 4;
A = randn(m,n); b = randn(m,1);
C = randn(p,n); d = randn(p,1); e = rand;
cvx_begin
    variable x(n)
    minimize( norm( A * x - b, 2 ) )
    subject to
        C * x == d
        norm( x, Inf ) <= e
cvx_end
 
Calling SDPT3 4.0: 56 variables, 22 equality constraints
   For improved efficiency, SDPT3 is solving the dual problem.
------------------------------------------------------------

 num. of constraints = 22
 dim. of socp   var  = 21,   num. of socp blk  =  1
 dim. of linear var  = 31
 dim. of free   var  =  4
 *** convert ublk to linear blk
********************************************************************************************
   SDPT3: homogeneous self-dual path-following algorithms
********************************************************************************************
 version  predcorr  gam  expon
    NT      1      0.000   1
it pstep dstep pinfeas dinfeas  gap     mean(obj)    cputime    kap   tau    theta
--------------------------------------------------------------------------------------------
 0|0.000|0.000|6.6e+00|2.9e+00|5.2e+01| 3.356465e+00| 0:0:00|5.2e+01|1.0e+00|1.0e+00| chol 1   1
 1|0.463|0.463|5.1e+00|2.5e+00|5.1e+01|-3.471889e-01| 0:0:00|4.1e+01|1.0e+00|7.7e-01| chol 1   1
 2|1.000|1.000|2.9e+00|1.3e+00|4.9e+01|-5.441973e-01| 0:0:00|1.3e+01|7.3e-01|3.2e-01| chol 1   1
 3|0.811|0.811|7.1e-01|3.2e-01|1.0e+01|-4.273605e+00| 0:0:00|1.4e+00|8.3e-01|8.8e-02| chol 1   1
 4|0.875|0.875|1.9e-01|8.8e-02|3.0e+00|-5.417411e+00| 0:0:00|3.2e-01|8.3e-01|2.4e-02| chol 1   1
 5|0.892|0.892|8.5e-02|4.1e-02|1.6e+00|-5.882200e+00| 0:0:00|9.6e-02|7.7e-01|9.8e-03| chol 1   1
 6|0.930|0.930|1.6e-02|1.1e-02|2.6e-01|-6.248079e+00| 0:0:00|1.4e-02|8.6e-01|2.1e-03| chol 1   1
 7|1.000|1.000|2.5e-03|5.8e-03|3.8e-02|-6.314830e+00| 0:0:00|2.7e-03|9.3e-01|3.5e-04| chol 1   1
 8|0.934|0.934|2.9e-04|2.3e-03|4.2e-03|-6.338171e+00| 0:0:00|7.5e-04|9.4e-01|4.1e-05| chol 1   1
 9|0.711|0.711|1.7e-04|1.3e-03|2.8e-03|-6.343682e+00| 0:0:00|2.8e-04|9.3e-01|2.3e-05| chol 1   1
10|0.978|0.978|3.5e-05|3.6e-04|5.8e-04|-6.348542e+00| 0:0:00|5.3e-05|9.3e-01|4.8e-06| chol 1   1
11|0.947|0.947|8.9e-06|1.5e-04|1.5e-04|-6.349660e+00| 0:0:00|1.2e-05|9.3e-01|1.3e-06| chol 1   1
12|0.983|0.983|5.0e-07|5.4e-05|6.2e-06|-6.350127e+00| 0:0:00|2.7e-06|9.3e-01|7.0e-08| chol 1   1
13|1.000|1.000|1.5e-07|1.1e-05|2.6e-06|-6.350339e+00| 0:0:00|1.4e-07|9.3e-01|2.1e-08| chol 1   1
14|1.000|1.000|3.2e-08|2.1e-06|5.4e-07|-6.350380e+00| 0:0:00|4.2e-08|9.3e-01|4.5e-09| chol 1   1
15|1.000|1.000|2.0e-09|4.2e-07|2.8e-08|-6.350388e+00| 0:0:00|9.0e-09|9.3e-01|1.8e-10| chol 1   1
16|1.000|1.000|2.1e-09|4.2e-08|2.0e-09|-6.350390e+00| 0:0:00|5.7e-10|9.3e-01|0.0e+00| chol 1   1
17|0.999|0.999|7.9e-10|4.7e-10|6.4e-11|-6.350390e+00| 0:0:00|4.1e-11|9.3e-01|0.0e+00|
  Stop: max(relative gap,infeasibilities) < 1.49e-08
-------------------------------------------------------------------
 number of iterations   = 17
 primal objective value = -6.35038991e+00
 dual   objective value = -6.35038991e+00
 gap := trace(XZ)       = 6.45e-11
 relative gap           = 8.77e-12
 actual relative gap    = -3.74e-10
 rel. primal infeas     = 7.92e-10
 rel. dual   infeas     = 4.72e-10
 norm(X), norm(y), norm(Z) = 1.2e+01, 6.5e+00, 9.3e+00
 norm(A), norm(b), norm(C) = 2.1e+01, 1.0e+00, 5.5e+00
 Total CPU time (secs)  = 0.25  
 CPU time per iteration = 0.01  
 termination code       =  0
 DIMACS: 7.9e-10  0.0e+00  4.7e-10  0.0e+00  -3.7e-10  4.7e-12
-------------------------------------------------------------------
 
------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +6.35039

结束安装

tip1:square函数重复,需要改成 .^2函数

tip2:除法就算是凸的,也有可能不识别,建议改成fmincon函数或其他内置函数转换

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值