2014-10-04 101 views
2

cvx由於某種原因,我不能開箱即用。Matlab cvx錯誤與cvx_begin

我使用Windows 64,CVX x64和x64的Matlab的R2012a

但是當我運行甚至只是簡單的例子(\ CVX \例子\ quickstart.m)它給我一個錯誤:

>> quickstart 

has_quadprog = exist('quadprog'); 
has_quadprog = has_quadprog == 2 | has_quadprog == 3; 
has_linprog = exist('linprog'); 
has_linprog = has_linprog == 2 | has_linprog == 3; 
rnstate = randn('state'); randn('state', 1); 
s_quiet = cvx_quiet(true); 
s_pause = cvx_pause(false); 
cvx_clear; echo on 

prob = evalin('caller', 'cvx_problem', '[]'); 
if isa(prob, 'cvxprob'), 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% SECTION 2.1: LEAST SQUARES % 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
% Input data 
m = 16; n = 8; 
A = randn(m,n); 
b = randn(m,1); 

% Matlab version 
x_ls = A \ b; 

% cvx version 
cvx_begin 
Attempt to reference field of non-structure array. 

Error in cvxprob (line 48) 
    selected = cvx___.solvers.selected; 

Error in cvx_begin (line 41) 
assignin('caller', 'cvx_problem', cvxprob(varargin{:})); 

Error in quickstart (line 25) 
cvx_begin 

回答

6

安裝比較簡單:

  1. 下載CVX(我只包含免費求解器cvx-rd.zip分佈,與預編譯的二進制MEX包括對所有支持平臺)。

  2. 解壓ZIP文件的地方,說C:\cvx

  3. 導航到MATLAB該目錄,並運行cvx_setup

    >> cd('C:\cvx') 
    >> cvx_setup 
    
    --------------------------------------------------------------------------- 
    CVX: Software for Disciplined Convex Programming  (c)2014 CVX Research 
    Version 2.1, Build 1088 (e790d80)     Sat Sep 20 22:03:02 2014 
    --------------------------------------------------------------------------- 
    Installation info: 
        Path: C:\cvx 
        MATLAB version: 8.3 (R2014a) 
        OS: Windows 8 amd64 version 6.2 
        Java version: 1.7.0_11 
    Verfying CVX directory contents: 
        No missing files. 
    Preferences: none found; defaults loaded. 
    --------------------------------------------------------------------------- 
    Setting CVX paths...done. 
    Saving updated path...done. 
    Searching for solvers...3 shims found. 
    2 solvers initialized (* = default): 
    * SDPT3 4.0  {cvx}\sdpt3 
        SeDuMi 1.34 {cvx}\sedumi 
    1 solver skipped: 
        GLPK    
         Could not find a GLPK installation. 
    Saving updated preferences...done. 
    Testing with a simple model...done! 
    --------------------------------------------------------------------------- 
    To change the default solver, type "cvx_solver <solver_name>". 
    To save this change for future sessions, type "cvx_save_prefs". 
    Please consult the users' guide for more information. 
    --------------------------------------------------------------------------- 
    
  4. 現在你可以運行的例子之一:

    >> cd('C:\cvx\examples') 
    >> quickstart 
    

如果要連接到外部解算器(Gurobi和MOSEK),請閱讀docs中的相應章節。這需要CVX專業版許可證。