📄 blksdp1.m
字号:
function varargout = blockit(F);
if isa(F,'lmi')
W = set([]);
for i = 1:length(F);
[W1,W2,S] = blksdp1(sdpvar(F(i)));
W = W + set(W1) + set(W2);
end
varargout{1} = W;
varargout{2} = S;
else
Z = spy(F);
n = size(Z,1);
waist = getwaist(Z);
r = n-2*waist;
A = F(1:waist,1:waist);
B = F(1:waist,waist+1:waist+r);
C = F(waist+1:waist+r,waist+1:waist+r);
D = F(waist+1:waist+r,waist+r+1:n);
E = F(waist+r+1:n,waist+r+1:n);
S = sdpvar(r,r);
varargout{1} = [A B;B' S];
varargout{2} = [C-S D;D' E];
varargout{3} = S;
end
function waist = getwaist(X)
k=1;
while nnz(X(1:k,end-k+1:end))==0
k=k+1;
end
waist = k-1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -