控制系统matlab实现

tf用法:

G=tf([2 1],[1 2 2])

s=tf('s') ;  %定义s为传递函数拉普拉斯算子;

G=(2s+1)/(s^2+2s+2); %定义传递函数;

其实生成的传递函数可以任意计算。

set(G)可以得到传递函数对象的属性,可以修改或预设其属性,如

G=tf([2 1],[1 2 2],'variable','p');%修改使用的变量

G=tf([2 1],[1 2 2],'inputdelay',0.25);%设置输入延迟,即G=exp(-0.25s)(2s+1)/(s^2+2s+2)

G=tf([1 3 2],[1 5 7 3],0.1);%设置离散情况的采样周期

 

tfdata

功能描述:获得tf模型传递函数的参数

对于SISO系统:

G=tf([2 1],[1 2 2]);

[num,den]=tfdata(G,'v');

对于离散系统:

[num,den,Ts]=tfdata(G)

其实要得到系统的参数,可以直接引用传递函数的属性,如G.den等

 

函数名zpk

功能描述:生成零极点增益传递函数模型或转换成零极点模型

G=zpk([-1,-3],[0,-2,-5],10);

可以用于转化

G=tf([-10 20 0],[1 7 20 28 19 5])

sys=zpk(G);

 

zpkdata

功能描述:获取零极点增益模型的参数

[z ,p ,k]=zpkdata(G,'v');

 

filt()

功能描述:生成DSP形式的离散传递函数:
例子:生成采样时间为0.5的DSP形式传递函数:

控制系统matlab实现

H=filt([2 1],[1 0.4 2],0.5)

 

函数名:dss

功能描述:生成系统的状态空间模型

这个函数比较简单,现在来生成一个连续系统的状态空间模型

 

控制系统matlab实现

2007-12-11 23:32

 

代码:dss(a,b,c,d,e)

离散的情况只需指定采样时间t

代码:dss(a,b,c,d,e,t)

 

函数名:ss

功能:生成系统的状态空间模型或把其他模型转换为状态空间模型

 

控制系统matlab实现

2007-12-11 23:37

代码:ss(a,b,c,d)

离散的情况与函数dss一样

用于转化:

G=tf([1 1],[1 3 3 1]);
ss(G);

关于这个函数,还有一个用法值得关注

ss(sys,'minmal' ),这个命令的意思是求系统sys的状态空间最小实现.

 

函数名ssdatadssdata

功能描述:获取状态空间模型的数据

 

参考:http://www.ilovematlab.cn/thread-1182-2-1.html

转自:http://blog.sina.com.cn/s/blog_6163bdeb0100i13d.html

你可能感兴趣的:(matlab)