19 lines
491 B
Matlab
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
|