FractionOrderSystem/FOTF Toolbox/@ppoly/collect.m

19 lines
491 B
Matlab

function p=collect(p)
% collect - collect like terms in ppoly objects
%
% p=collect(p)
%
% p - a ppoly object
% Copyright (c) Dingyu Xue, Northeastern University, China
% Last modified 18 May, 2022
a=p.a; na=p.na;
[na,ii]=sort(na,'descend'); a=a(ii); ax=diff(na); key=1;
for i=1:length(ax)
if abs(ax(i))<=1e-10
a(key)=a(key)+a(key+1); a(key+1)=[]; na(key+1)=[];
else, key=key+1; end
end
ii=find(abs(a)~=0); a=a(ii); na=na(ii); p=ppoly(a,na);
end