部分分式展开 matlab 自制函数

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值