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

📄 plot.m

📁 国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题
💻 M
字号:
function x_opt = plot(varargin)
%plot               plots feasible set
%
% p = plot(F,x,c,n,options) 
%
% F:  set object 
% x:  projected variables [2x1 sdpvar]
% c:  color [char or double]
% n:  #vertices [double ]
% options: options structure from sdpsettings 
 

% Author Johan L鰂berg
% $Id: plot.m,v 1.4 2005/02/14 21:02:00 johanl Exp $

% Get the onstraints

if nargin<1
    return
end

F = varargin{1};

if length(F)==0
   return;
end
    
if nargin < 5
    opts = sdpsettings('verbose',0);
else
    opts = varargin{5};
    if isempty(opts)
        opts = sdpsettings('verbose',0);
    end
end

if nargin < 4
    n = 40;
else
    n = varargin{4};
    if isempty(n)
        n = 40;
    end
end

if nargin < 3
    color = 'b';
else
    color = varargin{3};
    if isempty(color)
        color = 'b';
    end
end

if nargin < 2
    x_vars = depends(F);
    x = recover(x_vars);
    x_set = x(1:2);
else
    x_set = varargin{2};
    x_set = x_set(:);
    if isempty(x_set)
        x_vars = depends(F);
        x = recover(x_vars);
        x_set = x(1:2);
    end        
end

if isempty(F)
    return
end

sol = solvesdp(F,sum(x_set),opts);
%[model,recoverdata] = export(F,randn(length(x),1)'*x,opts,[],[]);
%uv = find(ismember(recoverdata.used_variables,getvariables(x_set)));
%solver = eval(['@' model.solver.call]); 
%sol = feval(solver,model);
if sol.problem == 1    
    if nargout==0
        plot(0)
    end
    x_opt =[];
else
    x_opt = [];
    phi = [];
    h = waitbar(0,'Please wait...');
    for i = 0:n-1
        c = [cos(i*2*pi/n);sin(i*2*pi/n)];
        sol = solvesdp(F,c'*x_set,opts);    
        x_opt = [x_opt relaxdouble(x_set)];
    %    model.c=0*model.c;
    %    model.c(uv)=c;
    %    sol = feval(solver,model);
    %    xout=recoverdata.H*sol.x+recoverdata.x_equ;
    %    x_opt = [x_opt xout(uv)]; 
        waitbar(i/n,h)
    end
    close(h);
    if nargout == 0
        patch(x_opt(1,:),x_opt(2,:),color);
    end
end










⌨️ 快捷键说明

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