利用Matlab描述和求解传递函数

系统数学模型表示形式

  • 有理多项式模型
    在这里插入图片描述
    在MATLAB中,传递函数可以方便地由其分子和分母多项式系数所构成的两个向量唯一确定出来,即 num = [b0,b1,…bm]; den=[1,a1,…,an]。
    则在MATLANB中G(s)可直接用num/den表示,即G(s) = num/den

  • 零-极点模型
    在这里插入图片描述
    在MATLAB下,零-极点模型可以由零点、极点和增益所构成的列向量唯一确定出来,即
    Z = [z1;z2;…;zm]; P = [p1;p2;…;pm]; K = K
    其中,Z为零点,P为极点,K为增益

MATLAB函数

1、多项式乘法运算函数:conv()

  • 当传递函数的分子或分母由若干个多项式相乘表示时,可以直接调用

  • 调用格式:p = conv(p1,p2)。其中p1,p2为多项式系数构成的向量

  • conv()允许多级嵌套

    举个例子:某个函数的分子为(s^2+6s+6)(s ^2+6s+6),若p1 = [1,6,6]; p2 = [1,6,6];
    p=conv(p1,p2),则p可表示该函数分子唯一确定的向量。

2、系统数学模型

  • 传递函数模型(有理多项式):tf()。调用格式:Gtf = tf(num,den)
  • 零-极点模型:zpk()。调用格式:Gzpk = zpk(Z,P,K)或Gzpk = zpk(Gtf)
  • 状态方程模型:ss()。调用格式:Gss = ss(A,B,C,D)或Gss = ss(Gtf)

3、模型间的转换

  • 传递函数模型转零-极点模型:tf2zp()。调用格式:[Z,P,K] = tf2zp(num,den)或Gzpk = tf2zp(Gtf)
  • 传递函数模型转状态方程模型:tf2ss()。调用格式:[A,B,C,D] = tf2ss(num,den)或Gss = tf2ss(Gtf)
  • 零-极点模型转传递函数模型:zp2tf()。调用格式:[num,den] = zp2tf(Z,P,K)或Gzpk = zp2tf(Gtf)

4、化简系统数学模型

  • 串联连接环节合并:series()。调用格式:[num,den] =series(num1,den1,num2,den2)
  • 并联连接环节合并:parallel()。调用格式:[num,den] = parallel(num1,den1,num2,den2)
  • 反馈连接环节合并:feedback()。调用格式:[num,den] = feedback(num1,den1,num2,den2,sign)
  • 下面举一个并联的例子来帮助理解:求G(s)。
    在这里插入图片描述在这里插入图片描述
    在MATLAB编写以下代码:
    在这里插入图片描述
    运行如下:
    在这里插入图片描述
    注意:所得的Gtf,可以转换成Gzpk或Gss,可按上面“系统数学模型”或“模型间的转换”中的方法进行转换。

5、怎么记忆这些函数?
其实这些函数就是英文的缩写。例如,传递函数模型:tf(),其英文全称为transfer funtion。

综合举例

在这里插入图片描述
在MATLAB中编写以下代码:
在这里插入图片描述
在这里插入图片描述
运行结果如下:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在MATLAB中编写如下代码:
在这里插入图片描述
运行结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在MATLAB编写如下代码
在这里插入图片描述
运行结果如下:
在这里插入图片描述
在这里插入图片描述

  • 104
    点赞
  • 582
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值