replace.m
来自「国外专家做的求解LMI鲁棒控制的工具箱,可以相对高效的解决LMI问题」· M 代码 · 共 24 行
M
24 行
function F = replace(F,X,W)
%REPLACE Substitutes variables in a SET object
%
%Z = REPLACE(F,X,W) Replaces any occurence of the SDPVAR object Y
% in the SDPVAR object X with the double W
%
% Example
% x = sdpvar(1,1);
% t = sdpvar(1,1);
% F = set([1+t;1+x+t] > 0);
% F = replace(F,x,2) generates F=set([1+t;3+t] > 0)
keep = [];
for i = 1:length(F.clauses)
F.clauses{i}.data = replace(F.clauses{i}.data,X,W);
if isempty(F.clauses{i}.data) | isa(F.clauses{i}.data,'double')
keep(i)=0;
else
keep(i)=1;
end
end
F.clauses = {F.clauses{find(keep)}};
F.LMIid = F.LMIid(find(keep));
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?