generateab.m
来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 34 行
M
34 行
function [A,b,lmi_variables] = generateAB(varargin)
%GENERATEAB Internal function to generates linear equation system
% Author Johan L鰂berg
% $Id: generateAB.m,v 1.3 2004/11/24 09:13:04 johanl Exp $
if mod(nargin,2)~=0
error('Internal error in generateAB. Please report.');
end
lmi_variables = [];
n_eq = 0;
for r = 1:nargin/2
[n,m] = size(varargin{1+2*(r-1)});
n_eq = n_eq + n*m;
lmi_variables = [lmi_variables varargin{1+2*(r-1)}.lmi_variables(:)'];
end
lmi_variables = uniquestripped(lmi_variables);
A = spalloc(n_eq,length(lmi_variables),n_eq);
b = spalloc(n_eq,1,n_eq);
btop = 1;
atop = 1;
for r = 1:nargin/2
X = varargin{2*r-1};
[n,m] = size(X);
used_variables = find(ismembc(lmi_variables,X.lmi_variables));
A(atop:atop+n*m-1,used_variables) = X.basis(:,2:end);
b(btop:btop+n*m-1) =varargin{2*r}(:)-X.basis(:,1);
atop = atop+n*m;
btop = btop+n*m;
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?