2020-12-18

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降幂来排列

h=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

ss(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中,通过下面转换就可完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值