как удалить редкую ошибку в cvx matlab - PullRequest
0 голосов
/ 18 июня 2020

Я использую пакет CVX для вычисления функции, которая принимает в качестве входных данных матрицу (эрмитовское положительное полуопределенное значение) A. Код выдает ошибку, связанную с кодом cvx. Я написал приведенный ниже код.


rho=[0.5,0,0,0.5;0,0,0,0;0,0,0,0;0.5,0,0,0.5];
>> rho1=double(rho)

rho1 =

    0.5000         0         0    0.5000
         0         0         0         0
         0         0         0         0
    0.5000         0         0    0.5000

, а ошибка:

Warning: A non-empty cvx problem already exists in this scope.
   It is being overwritten. 
> In cvxprob (line 28)
  In cvx_begin (line 41)
  In EntPPT (line 5) 
Error using sparse
Input matrix must be double or logical.

Error in cvx (line 28)
            v = class( struct( 'size_', size( s ), 'basis_', sparse( s(:).' ), 'dual_', '', 'dof_', [],
            'slow_', nnz( isinf( s ) | isnan( s ) ) ~= 0 ), 'cvx', cvxobj );

Error in EntPPT (line 13)
cvx end

Любая помощь приветствуется.

...