在matlab中,如何将下边的状态方程变成脉冲传递函数?用什么命令?谢谢2-5

如题所述

先用ss构造状态空间对象(未指定采样周期,不妨取1),然后用tf转换为传递函数

>> a=[0 1;1 3];b=[0;1];c=[1 1];d=0;
>> G=ss(a,b,c,d,1);
>> tf(G)
 
Transfer function:
    z + 1
-------------
z^2 - 3 z - 1
 
Sampling time: 1

追问

为什么你这么编程,出来的就是脉冲传递函数呢?而不是别的?哪段程序决定了上边是脉冲传递函数呢?谢谢

追答

所谓脉冲传递函数,其实就是指离散系统的传递函数(在线性离散系统中,把初始值为零时,系统离散输出信号的z变换与离散输入信号的z变换之比,定义为脉冲传递函数)。

 

MATLAB的控制系统工具箱里,定义了传递函数(tf)、状态空间(ss)、零极点(zpk)等几种常用的线型定常系统(lti)的类,这几种类之间可以用其同名构造函数直接进行相互转换。至于说这种转换具体使用了哪些代码,在不同的版本里面情况不尽相同,但大致上可以用下面的命令

edit ss\tf

打开将ss对象转换为tf对象的代码。先说这些,如果还有疑问再说吧。

温馨提示:答案为网友推荐,仅供参考
相似回答