- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
LTI工具箱函数介绍
首先,让我们来生成一个传递函数模型
G=(2s+1)/(s^2+2s+2),(^符号表示乘方)
代码如下:
第一种方法:
num([21]);??%定义分子
den([122]);??%定义分母
G=tf(num,den);%定义传递函数
复制代码
本方法也可以合写成一句:
G=tf([21],[122])
复制代码
第二种方法:
s=tf(s);??%定义s为传递函数拉普拉斯算子;
G=(2s+1)/(s^2+2s+2);%定义传递函数;
复制代码
定义传递函数矩阵的形式:
G=[(s+1)/(2s^2+2s+1),1/(2s^2+2s+1)]
代码如下:
num={[11][01]};
den={[121]};
G=tf(num,den)
复制代码
我们知道,算子s只是一个形式,也可以换成其他的字母,哪一天你看s不爽想换成字母p,该怎么做呢,很简单,只需要改变传递函数的一个属性就可以了:
生成传递函数模型G=(2p+1)/(p^2+2p+2);
G=tf([21],[122],variable,p);??%注意,这里将属性variable改成了p,默认的时候是s
复制代码
再来,如果我们希望给刚才定义传递函数加一个0.25单位的输入延迟,让函数变成这样
G=exp(-0.25s)(2s+1)/(s^2+2s+2),该怎么做呢,简单,还是修改模型的属性,代码如下:
G=tf([21],[122],inputdelay,0.25);
%注意,这里修改了属性inputdelay的值,该值默认时为0。
复制代码
现在考虑离散的情况
定义传递函数:
G=(z^2+3z+2)/(z^3+5z^2+7z+3),采样周期为0.1
代码入下:
G=tf([132],[1573],0.1);
复制代码
最后我要特别说明的一点是:函数tf不能用于定义中间变量带有延迟的传递函数(非纯延迟),比如这样的形式G=1/s+exp(-0.25s)/(2s+1);
如果你按照如下编写代码会出现错误:
s=tf(s);
G=1/s+exp(-0.25*s)/(2*s+1);
复制代码
如果想定义这样的函数必须使用与定义状态空间模型有关的一些函数,这个问题我在后面会讲到。
2.函数名tfdata
功能描述:获得tf模型传递函数的参数
这个就不多解释了,可以自己去尝试一下下面的代码,看能产生什么结果,相信都能理解
对于SISO系统:
G=tf([21],[122]);
[num,den]=tfdata(G,v);
复制代码
若G是离散系统,可用下面的代码形式得到采样时间
[num,den,Ts]=tfdata(G);
复制代码
3.函数名zpk
功能描述:生成零极点增益传递函数模型或转换成零极点模型
运行如下代码可生成一个传递函数:
G=10(s+1)(s+3)/(s(s+2)(s+5))
G=zpk([-1,-3],[0,-2,-5],10);
复制代码
离散的情况的采样时间设定和tf函数类似,就不多说了。
zpk函数可以将一般的传递函数转换为零极点模型
可以运行下面一段代码察看看会有什么结果:
G=tf([-10200],[172028195])
sys=zpk(G);
复制代码
4函数名:zpkdata
功能描述:获取零极点增益模型的参数
与tfdata类似的命令,也不多说了
对于SISO系统G,运行下列代码可获得此系统的零点、极点和增益:
[z,p,k]=zpkdata(G,v);
复制代码
对离散系统,方式和tfdata相同。
多谢阿三哥
这个我也懂一点,我也来参与
提取传函分子分母多多项式也可以样
G=tf([21],[122]);
%[num,den]=tfdata(G,v)
num=G.num{1},den=G.den{1}??%可直接提取分子很分母多项式
%这里{1}实际上为{1,1},表示第1输入和第1输出之间的传递函数,该方法直接适合于多变量系统的描述。
复制代码
tf的属性可以用set命令列出
set(tf)
复制代码
函数名:filt()
功能描述:生成DSP形式的离散传递函数:
例子:生成采样时间为0.5的DSP形式传递函数:
代码如下:
H=filt([21],[10.42],0.5)
复制代码
这里注意一下每项前面的系数与tf函数的小区别就可以了
函数名:dss
功能描述:生成系统的状态空间模型
这个函数比较简单,现在来生成一个连续系统的状态空间模型
代码:dss(a,b,c,d,e)
离散的情况只需指定采样时间t
代码:
文档评论(0)