我是靠谱客的博主 贪玩小虾米,最近开发中收集的这篇文章主要介绍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)

最后

以上就是贪玩小虾米为你收集整理的2020-12-18的全部内容,希望文章能够帮你解决2020-12-18所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部