function result=patialfracexpan(tf)%%输入tf型变量的传递函数
b=cell2mat(tf.Numerator);
a=cell2mat(tf.Denominator);
[r,p,k] = residue(b,a);
m=[r,p,k];
result=residuemattotf(m);
function t=residuemattotf (r)
s=size(r);
terms=s(1);
tfunc=0;
assignin('base','tfunc',0);
for i=1:terms
eval(['t',num2str(i),'=','tf(r(i,1),[1 -r(i,2)]);']);
temp=tf(r(i,1),[1 -r(i,2)]);
tf2sym(temp);
tfunc=tfunc+sym_G1;
t=vpa(tfunc);
end
assignin('base','tfunc',tfunc);
return
```matlab
function s=tf2sym(G1)
syms s ;
% 将G1(s)的 tf对象转变成 sym对象
[num,den]=tfdata(G1);
N=size(den);
for i=1:N(1)
for j=1:N(2)
Num=poly2sym(num{i,j},s);
Den=poly2sym(den{i,j},s);
sym_G1(i,j)=Num/Den;
end
end
s=sym_G1;
assignin('base','s