degreduce.m
来自「matlab波形优化算法经常要用到的matlab toolbox工具箱:yalm」· M 代码 · 共 26 行
M
26 行
function pnew = degreduce(p,d)
% DEGREDUCE Remove higher order terms
% Author Johan L鰂berg
% $Id: degreduce.m,v 1.3 2004/10/04 07:51:13 johanl Exp $
if islinear(p)
pnew = p;
else
[sqrList,CompressedList] = yalmip('nonlinearvariables');
base = getbase(p);
vars = getvariables(p);
for i = 1:length(vars)
v = vars(i);
if ismember(v,CompressedList(:,1))
j = find(CompressedList(:,1)==v);
if sum(any(CompressedList(j,2:end),1))>d
base(i+1)=0;
end
end
end
pnew = clean(sdpvar(1,1,[],vars,base));
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?