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

📄 sdpvarfun.m

📁 国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题
💻 M
字号:
function Y=sdpvarfun(varargin)
%SDPVARFUN Applies operator on matrix variable
%
% Y = sdpvarfun('op',X)  Applies the Matlab operator 'op' on X
%
% Example : Y = sdpvarfun('triu',X)  Extracts upper triangluar part

% Author Johan L鰂berg 
% $Id: sdpvarfun.m,v 1.2 2004/07/01 11:17:13 johanl Exp $  

op = varargin{1};
if ~isa(op,'char')
  error('First argument must be a string with the function name')
end

X = varargin{2};
Y = X;

x_lmi_variables = X.lmi_variables;
lmi_variables = [];

Y.basis = [];
opX = feval(op,reshape(X.basis(:,1),X.n,X.m));
Y.basis = opX(:);

j = 1;
for i = 1:length(x_lmi_variables)
  opX = feval(op,reshape(X.basis(:,i+1),X.n,X.m));
  if (norm(opX,inf)>0)
    Y.basis(:,j+1) = opX(:);
    lmi_variables = [lmi_variables x_lmi_variables(i)];
    j = j+1;
  end
end  
Y.n = size(opX,1);
Y.m = size(opX,2);
Y.lmi_variables = lmi_variables;

⌨️ 快捷键说明

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