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

📄 trace.m

📁 国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题
💻 M
字号:
function Y=trace(X)
%TRACE (overloaded)

% Author Johan L鰂berg 
% $Id: trace.m,v 1.3 2005/06/02 13:40:00 joloef Exp $   

if isa(X,'blkvar')
    X = sdpvar(X);
end

if X.typeflag~=0
	error('Relational objects cannot be manipulated')
end

Y = X;
x_lmi_variables = X.lmi_variables;
lmi_variables = [];
n = X.n;
m = X.m;
traceX = trace(reshape(X.basis(:,1),n,m));
Y.basis = traceX(:);

j = 1;
for i = 1:length(x_lmi_variables)
	traceX = trace(reshape(X.basis(:,i+1),n,m))/1;
	if (norm(traceX,inf)>0)
		Y.basis(:,j+1) = traceX(:);
		lmi_variables = [lmi_variables x_lmi_variables(i)];
		j = j+1;
	end
end   
if isempty(lmi_variables)
    Y = full(trace(reshape(X.basis(:,1),n,m)));
else
    Y.n = size(traceX,1);
    Y.m = size(traceX,2);
    Y.lmi_variables = lmi_variables;
end

⌨️ 快捷键说明

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