MATLAB 中使用 tf,zpk,ss函数创造传递函数
例如下面传递函数
零点2、4 、6 、8;极点1、3 、5、7、9。函数增益25
zpk() 函数
This MATLAB function creates a continuous-time zero-pole-gain model with zeros
Z, poles P, and gain(s) K.
tf()函数
Create transfer function model, convert to transfer function model
tf()创建传递函数的一般形式,分母分子按照s降幂来排列
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16h=zpk([2 4 6 8],[1 3 5 7 9 ],25) h = 25 (s-2) (s-4) (s-6) (s-8) ----------------------------- (s-1) (s-3) (s-5) (s-7) (s-9) tf(h) ans = 25 s^4 - 500 s^3 + 3500 s^2 - 10000 s + 9600 ----------------------------------------------- s^5 - 25 s^4 + 230 s^3 - 950 s^2 + 1689 s - 945
ss()函数
Create state-space model, convert to state-space model
按照状态空间建立的传递函数
sys = ss(A,B,C,D) creates a state-space model object representing the continuous-time state-space model
x=Ax+Bu
y=Cx+Du
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28ss(h) ans = A = x1 x2 x3 x4 x5 x1 1 -1 -1 -1 1 x2 0 3 -1 -1 1 x3 0 0 5 -1 1 x4 0 0 0 7 1 x5 0 0 0 0 9 B = u1 x1 0 x2 0 x3 0 x4 0 x5 8 C = x1 x2 x3 x4 x5 y1 -3.125 -3.125 -3.125 -3.125 3.125 D = u1 y1 0
从状态空间矩阵转化为一般形式传递函数和按零极点分布的传递函数时,首先会发现matlab 中只有ans是变量,a,b,c,d矩阵都存放在ans中,通过下面转换就可完成。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16tf(ans) ans = 25 s^4 - 500 s^3 + 3500 s^2 - 10000 s + 9600 ----------------------------------------------- s^5 - 25 s^4 + 230 s^3 - 950 s^2 + 1689 s - 945 zpk(ans) ans = 25 (s-8) (s-6) (s-4) (s-2) ----------------------------- (s-9) (s-7) (s-5) (s-3) (s-1)
最后
以上就是贪玩小虾米最近收集整理的关于2020-12-18的全部内容,更多相关2020-12-18内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复