Dynamic-Calibration/utils/YALMIP-master/extras/@lmi/shift.m

23 lines
635 B
Matlab
Executable File

function F = shift(F,shifttol)
F = flatten(F);
for i = 1:size(F.clauses,2)
switch F.clauses{i}.type
case {1,9}
n = length(F.clauses{i}.data);
if F.clauses{i}.strict
F.clauses{i}.data = F.clauses{i}.data - speye(n)*shifttol;
end
case 2
[n,m] = size(F.clauses{i}.data);
if F.clauses{i}.strict
F.clauses{i}.data = F.clauses{i}.data - ones(n,m)*shifttol;
end
case 4
n = length(F.clauses{i}.data);
if F.clauses{i}.strict
F.clauses{i}.data = F.clauses{i}.data - eye(n,1)*shifttol;
end
otherwise
end
end