⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ndsdpvar.m

📁 matlab波形优化算法经常要用到的matlab toolbox工具箱:yalmip
💻 M
字号:
function X = ndsdpvar(varargin)
% NDSDPVAR Constructor for multi-dimensional SDPVAR object

% Author Johan L鰂berg
% $Id: ndsdpvar.m,v 1.10 2007/01/04 08:52:49 joloef Exp $

% Sometimes it is convenient to cast a 2D SDPVAR variables as an nD
% variable

if nargin == 1 & isa(varargin{1},'sdpvar')
    X = varargin{1};
    X = struct(X);
    X.conicinfo = [0 0];
    X = class(X,'ndsdpvar');
    return
end

type  = 'symmetric';
field = 'real';

d = 0;
i = 1;
while i<=nargin
    if isa(varargin{i},'double')
        d = d + 1;
    end
    i = i + 1;
end

n = [varargin{1:d}];

if nargin > d
    type = varargin{d+1};
    if n(1)~=n(2) & ~isempty(strmatch(type,'symmetric'))
        error('non-square matrix cannot be symmetric');
    end
else
    if n(1)==n(2)
        type = 'symmetric';
    else
        type = 'full';
    end
end
if nargin > d+1
    field = varargin{d+2};
end

X = [];
for i = 1:prod(n(3:end))
    x = sdpvar(n(1),n(2),type,field);
    X = [X;x(:)];
end
X = struct(X);
X.dim = n;
X = class(X,'ndsdpvar');
X = clean(X);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -