用MATLAB进行部分分式展开
2015-11-14 14:29
411 查看
转自http://blog.sina.com.cn/s/blog_58abe1630100h49v.html
为了方便LAPLACE反变换,先对F(s)进行部分分式展开。根据F(s)分为具有不同极点的部分分式展开和具有多重极点的部分分式展开。分别讨论。
不同极点的部分分式展开:
F(s)=B(s)/A(s)=num/den=(b0*s^n+b1*s^(n-1)+...+bn)/(s^n+a1*s^(n-1)+...an)
在matlab行向量中,num和den分别表示传递函数分子和分母的系数
num=[b0 b1 ...bn]
den=[a0 a1 ...an]
将求出F(s)部分展开式的留数,级点,余项r,p,k
B(s)/A(s)=r(1)/(s-p(1))+r(2)/(s-p(2))+...+r(n)/(s-p(n))+k(s)
例:
B(s)/A(s)=
2 s^3 + 5 s^2 + 3 s + 6
-----------------------
s^3 + 6 s^2 + 11 s + 6
num=[2 5 3 6]
den=[1 6 11 6]
[r,p,k]=residue(num,den)
检查:
[num,den]=residue(r,p,k)
printsys(num,den,'s')
多重极点部分分式展开:
r(j)/(s-p(j))+r(j+1)/(s-p(j+1))^2+...r(j+m-1)/(s-p(j))^m
例:
s^2 + 2 s + 3
---------------------
s^3 + 3 s^2 + 3 s + 1
num=[1 2 3]
den=[1 3 3 1]
[r,p,k]=residue(num,den)
检查:
[num,den]=residue(r,p,k)
printsys(num,den,'s')
用MATLAB求F(s)的零点,极点,增益
[z,p,K]=tf2zp(num,den)
z零点,p极点,K增益
例
4 s^2 + 16 s + 12
-----------------------------------
s^4 + 12 s^3 + 44 s^2 + 48 s
num=[0 0 4 16 12]
den=[1 12 44 48 0]
[z,p,K]=tf2zp(num,den)
反推:
[num,den]=zp2tf(z,p,K)
printsys(num,den,'s')
为了方便LAPLACE反变换,先对F(s)进行部分分式展开。根据F(s)分为具有不同极点的部分分式展开和具有多重极点的部分分式展开。分别讨论。
不同极点的部分分式展开:
F(s)=B(s)/A(s)=num/den=(b0*s^n+b1*s^(n-1)+...+bn)/(s^n+a1*s^(n-1)+...an)
在matlab行向量中,num和den分别表示传递函数分子和分母的系数
num=[b0 b1 ...bn]
den=[a0 a1 ...an]
将求出F(s)部分展开式的留数,级点,余项r,p,k
B(s)/A(s)=r(1)/(s-p(1))+r(2)/(s-p(2))+...+r(n)/(s-p(n))+k(s)
例:
B(s)/A(s)=
2 s^3 + 5 s^2 + 3 s + 6
-----------------------
s^3 + 6 s^2 + 11 s + 6
num=[2 5 3 6]
den=[1 6 11 6]
[r,p,k]=residue(num,den)
检查:
[num,den]=residue(r,p,k)
printsys(num,den,'s')
多重极点部分分式展开:
r(j)/(s-p(j))+r(j+1)/(s-p(j+1))^2+...r(j+m-1)/(s-p(j))^m
例:
s^2 + 2 s + 3
---------------------
s^3 + 3 s^2 + 3 s + 1
num=[1 2 3]
den=[1 3 3 1]
[r,p,k]=residue(num,den)
检查:
[num,den]=residue(r,p,k)
printsys(num,den,'s')
用MATLAB求F(s)的零点,极点,增益
[z,p,K]=tf2zp(num,den)
z零点,p极点,K增益
例
4 s^2 + 16 s + 12
-----------------------------------
s^4 + 12 s^3 + 44 s^2 + 48 s
num=[0 0 4 16 12]
den=[1 12 44 48 0]
[z,p,K]=tf2zp(num,den)
反推:
[num,den]=zp2tf(z,p,K)
printsys(num,den,'s')
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- MATLAB 添加自定义的模块到simulink库浏览器
- MATLAB for Mac使编辑器支持中文
- [转]matlab中plot用法
- 初学数模-MATLAB Quick Start! Part I
- 初学数模-MATLAB Quick Start! Part II
- matlab程序优化以及eclipse与github的结合
- matlab中的rand函数(用于产生随机数)
- 图像增强算法四种,图示与源码,包括retinex(ssr、msr、msrcr)和一种混合算法