未分配一个或多个输出参数

时间:2019-04-03 21:11:32

标签: matlab cvx

我想为E优化设计标准实现凸松弛: 通过定义 enter image description here 优化问题将是 ![image|690x93](upload://bhzScphdFramadboKIQhieamQSO.png)

我已经使用此功能在Matlab中实现

function [d] = e_optimality(Uk, s, sigma)
%% E-OPTIMALITY DESIGN CRITERION, CONVEX RELAXATION
%   
%       OUTPUT: sampling_set= vector with ordered sampling
%       set
%
%       INPUT: Uk= NxK Laplacian eigenvector in the selected band
%              s= number of samples
%              sigma: entry noise matrix

N= size(Uk,1);
Sigma= diag(sigma*ones(N,1))
Sigma_inv= inv(Sigma);


cvx_begin
variable d(N)
D= diag(d)
B= Uk'*Sigma_inv* D*Uk;
minimize -lambda_min(B)
subject to
           d*ones(N,1)==s;
           0<=d<=1;
cvx_end

不幸的是,在取消该功能时,出现以下错误:

One or more output arguments not assigned during call to "varargout".

Error in minimize (line 14)
    x = evalin( 'caller', sprintf( '%s ', varargin{:} ) );

Error in e_optimality (line 20)
    minimize -lambda_min(B)

这似乎是导致问题的CVX中的-lambda_min最小化。会是什么呢? 谢谢

0 个答案:

没有答案