ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:31.33KB ,
资源ID:4009198      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4009198.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(MATLABtf 函数.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

MATLABtf 函数.docx

1、MATLABtf 函数Tf函数用来建立实部或复数传递函数模型或将状态方程、或零级增益模型转化成传递函数形式。sys = tf(num,den)命令可以建立一个传递函数,其中分子和分母分别为num和den。输出sys是储存传递函数数据的传递函数目标。单输入单输出情况下,num和den是s的递减幂级数构成的实数或复数行向量。这两个向量并不要求维数相同。如h = tf(1 0,1)就明确定义了纯导数形式h(s)=s。若要构建多输入多输出传递函数,要分别定义每一个单输入单输出系统的端口的分子与分母。这种情况下:Num和den是单元数组,其中行数等于输出数,列数等于输入数;行向量numi,j和deni,

2、j定义了从输入j到输出i的传递函数的分子与分母。如果此多输入多输出系统的传递函数中所有的单输入单输出端口有相同的分母,可以设置den为代表这个通用分母的行向量。sys = tf(num,den,Ts)可以创建一个采样时间为Ts的离散时间传递函数。设置Ts = -1 or Ts = 将不指定采样时间。有关num和den的设置与连续系统一样。sys = tf(M)可以创建一个静态增益M(标量或矩阵形式)。sys = tf(num,den,ltisys)创建一个拥有来源于线性时不变模型ltisys的一般线性时不变属性的传递函数。有很多种方法可以创建线性时不变传递函数的数组。前面介绍的语法可以通过属性

3、名,属性值来进行。Property,Value每一对上述定义都明确指定模型的一个线性时不变属性,如输入名或传递函数变量。sys = tf(num,den,Property1,Value1,.,PropertyN,ValueN)是下述语句的简写形式sys = tf(num,den)set(sys,Property1,Value1,.,PropertyN,ValueN) 作为s或z的有理表达式的传递函数可以应用实数或复数有理表达式来创建一个传递函数模型。可以:s = tf(s)用拉普拉斯算符s的有理表达式来创建传递函数;z = tf(z,Ts)用离散时间变量z的有理表达式创建采样时间为Ts的传递函

4、数模型。一旦你定义了s或z变量,就可以直接将传递函数模型定义为上述变量的有理表达式。 如何转化为传递函数tfsys = tf(sys)可以将任意一个SS模型或ZPK线性时不变模型转化成传递函数的形式。输出tfsys便是sys的传递函数。缺省状态下tf用0作为分子来转化一个状态空间模型到一个传递函数形式。tfsys = tf(sys,inv)用反演公式来得到分子。这种算法较快,但是在s=0的高阶模型中精度较差。 算例1创建一两输出单输入传递函数您正在看的文章来自博研联盟 ,原文地址:Filt 以数字信号处理(DSP)格式定义离散传递函数Filt函数可以很方便地以DSP格式定义传递函数。 sys

5、= filt(num,den) 生成一个离散时间的传递函数系统,系统的分子为num,分母为den。采样时间未指定。(系统采样时间Ts= -1),输出系统是一个TF对象。 Matlab中文论坛sys = filt(num,den,Ts) 进一步指定采样时间Ts(单位为秒) sys = filt(M) 定义一个静态过滤器,增益矩阵为M 上述的所有使用格式都可在后面跟上一对特性名/特性值 特性名,特性值 每一对特性名/特性值为模型指定一个特定的LTI特性,例如输入名或传递函数变量输入以下命令: num = 1 , 1 0.3 den = 1 1 2 ,5 2 H = filt(num,den,inp

6、utname,channel1 channel2) 生成如下两输入的数字过滤器 www.iLoveM公式 1,在matlab里对控制系统分析时,不论是LSI(适合用Z变换分析)系统还是LTI(适合S变换分析)系统。都相差无几,只是调用函数略有不同。下面的列表包括了实施变换的重要命令。residue(n, d) 计算多项式之比n(s)/d(s)的部分分式展开 lsim(SYS, u) 计算/绘制系统SYS对输入向量u的响应 step(SYS) 计算/绘制系统SYS的阶跃响应 impulse(SYS) 计算/绘制系统SYS的冲击响应 pzmap(n, d) 计算/绘制系统SYS的零极点图 resi

7、duez(n, d) 计算多项式之比n(z)/d(z)的部分分式展开,写成z-1的函数 dlsim(n, d, u) 计算系统函数为n(z)/d(z)的系统对输入向量u的时间响应 dstep(n, d) 计算系统函数为n(z)/d(z)的系统的阶跃响应 dimpulse(n, d) 计算系统函数为n(z)/d(z)的系统的冲击响应 zplane(z, p) 由极点零点向量p和z绘制零极点图 这些命令中很多都是对LTI系统的一些说明有效的。其中一个说明是关于传递函数的,SYS由TF(num, den)代替,num和den分别是系统函数分子分母的系数向量。对于以多项式之比的方式给定的连续或离散时间

8、系统的系统函数,计算和绘制频率响应由几种有用的命令。bode(n, d) 绘制一个CT系统的波德图,系统函数是多项式比n(s)/d(s) freqs(n, d) 计算系统函数为n(s)/d(s)的一个CT系统的频率响应 freqz(n, d) 计算系统函数为n(z)/d(z)的一个DT系统的频率响应 应用举例假设要对一个LTI系统进行分析,系统的传递函数如下: 5s H(s) = - (在这里如果把s改成z,就成了LSI系统了。分析方法一样,调用函数参看前边的介绍) s2 + 2s +101clc,clear;num = 5 0; %Define numerator polynomial de

9、n = 1 2 101; %Define denominator polynomial t = linspace(0, 10, 401); %Define a time vector u = cos(2*pi*t); %Compute the cosine input function figure(1); y, x = lsim(num, den, u, t); %Compute the cosine input function plot(t, y, r, t, u, b); %Plot the output in red and the input in blue xlabel(Time

10、(s); ylabel(Amplitude); figure(2);dlsim(num,den,u);%Compute the cosine input function as LSI2,LTI对象线性定常时不变(LTI)对象有三类:tf对象:传递函数模型;zpk对象:零极点增益模型.每个对象都有其对象属性与对象方法,同类对象的属性可以继承,通过对象方法可以存取或者设置对象属性值.三类对象有共同的属性,也有各自特有的属性.1.传递函数模型设系统的输入为r(t),输出为y(t),则系统的微分方程为:取拉氏变换得系统的传递函数:对象的构建在MATLAB里,传递函数的分子/分母按s降幂排列,用分子/

11、分母多项式系数构成的两个向量num和den表示系统,即在MATLAB里,用函数命令tf()来建立系统的传递函数模型,或者将零极点模型或者状态空间模型转换为传递函数模型.其格式为:sys=tf(num,den); sys=tf(num,den,Ts) 函数命令sys=tf (num, den)根据传递函数分子,分母多项式系数构建传递函数模型.tfsys=tf (sys)将任意的LTI对象转换为传递函数模型.printsys(num,den,s)输出系统的传递函数.演示重要提示!对于已知的传递函数,其分子与分母多项式系数向量可分别由G.num 1 与G.den1指令求出2.零极点增益模型连续系统传

12、递函数表达式用系统增益,系统零点,系统极点来表示的,则称为系统的零极点增益模型.显然它是传递函数模型的已知特殊形式.可以用z,p,k构成的矢量组z, p, k表示系统.零极点增益模型的构建用函数命令zpk()来建立系统的零极点增益模型,或将传递函数或者状态空间模型转换为零极点增益模型.sys=zpk(z,p,k); tfsys=zpk(sys); 特别提示!对于已知的零极点增益模型,其零点和极点可分别由sys.z1和sys.p1指令求出.4.三种模型的相互转换六个函数完成3种模型之间的转换tf2zp :传递函数 零极点增益;zp2tf :零极点增益 传递函数系统对象构建,转换举例传递函数对象的

13、构建:Num=1 2; Den=1 2 3;sys=tf(Num,Den);printsys (Num,Den, s);Q=sys.Num1;对象属性的获取:Sys.Variable:得到其传递函数变量Sys.den:得到其分母系数的描述系统对象构建,转换举例零极点模型的构建z=-1 -2; p=-1 -2 -3;k=20;sys=zpk(z, p , k);aa=sys.p1;bb= sys.z1; sys2=tf(sys); printsys(sys2.num1,sys2.den1, s);系统对象构建,转换举例模型之间的相互转换方法num=1 2 ;den=1 2 3 4;sys=tf(

14、num,den);z1,p1,k1=tf2zp(num,den);num1,den1=zp2tf(z1,p1,k1);第四种系统数学模型Simulink模型,这种方法前面已经做了详尽介绍.环节方框图模型的简化环节串连的化简sys=sys1*sys2*sysn环节串连的化简举例n1=0.0128 1;d1=0.04 0;sys1=tf(n1,d1);n2=30;d2=0.00167 1; sys2=tf(n2,d2);n3=2.5;d3=0.0128 1;sys3=tf(n3,d3);sys123=sys1*sys2*sys3;环节方框图模型的简化环节并连的化简sys12=sys1+sys2+s

15、ysn环节并连的化简举例已知系统如下图所示,试求两系统并联连接的等效传递函数的num与den向量.num1=5;den1=1 1; s1=tf(num1,den1);num2=7 8;den2=1 2 9; s2=tf(num2,den2);Sys12=s1+s2;num=Sys12.num1; den=Sys12.den1;环节反馈连接的化简G1(s)为闭环前向通道的传递函数,G2(s)为反馈通道的传递函数.可用feedback()函数命令求等效传递函数.G=feedback(G1,G2,sign); sign缺省时为-1.num,den=feedback(num1,den1,num2.de

16、n2,sign)环节反馈连接的化简举例已知晶闸管-直流点击单闭环调速系统的simulink结构图如下图所示.求按负反馈连接闭环系统的传递函数.n1=1;d1=0.017 1;s1=tf(n1,d1); n2=1;d2=0.075 0;s2=tf(n2,d2);sys1=feedback(s1*s2,1); n3=0.049 1; d3=0.088 0;s3=tf(n3,d3);n4=0 44;d4=0.0167 1;s4=tf(n4,d4); n5=1; d5=0.01925;s5=tf(n5,d5); n6=0.0178; d6=1;s6=tf(n6,d6);sysq=sys1*s3*s4*

17、s5; sys=feedback(sysq,s6);8.3.2 控制系统稳定性分析的Matlab实现设闭环系统的传递函数为:D(s)称为特征多项式,令D(s)=0,此为特征方程.系统稳定的充分必要条件是系统的特征方程的全部根,或者系统闭环传递函数的全部极点都位于s左半平面.稳定性分举例1已知系统的开环传递函数为:试对系统闭环判别其稳定性.k=100;z=-2;p=0 -1 -20; n1,d1=zp2tf(z,p,k);G=tf(n1,d1); P2=n1+d1;roots(P2)结果:稳定!稳定性分举例2已知系统的闭环传递函数为试对系统闭环判别其稳定性.n1=5 200; d1=0.001

18、0.502 6 200;s1=tf(n1,d1); G=zpk(s1);G.p1结果:稳定!用根轨迹法判别稳定性用rlocus(sys)函数可以画出闭环系统的根轨迹,用rlocfind()函数(k,poles=rlocfind(sys)求出在一定k值下所有的闭环极点.然后就可以判别系统的稳定性了.根轨迹是指当开环系统增益k从0变到无穷大时,闭环系统特征方程的根在复平面上移动的轨迹.根轨迹法判别稳定性举例已知一个单位负反馈系统开环传递函数为G(s),试在根轨迹上选择一点,求出该点的增益k及其系统的闭环极点位置,并判断在该点系统闭环的稳定性.num=1 3; den=conv(conv(conv(

19、1 0,1 5),1 6),1 2 2);sys=tf(num,den);rlocus(sys);k,poles=rlocfind(sys);画根轨迹的函数:rlocus().找闭环所有极点的函数:k,poles=rlocfind(sys).用Bode图法判别稳定性相角稳定裕度:在频率特性上对应于A()=1的角频率称为剪切频率c.使系统达到稳定的临界状态所要附加的相角滞后量,称为相角裕度(Pm).Pm=180 +(c), (c)为开环频率特性在c处相角.模值(增益)稳定裕度:在相频特性等于-180弧度g处,开环幅频特性的倒数1/ A()称为模值(增益)稳定裕度(Gm)为了得到满意的暂态响应,一

20、般相角裕度在30-60之间,模值裕度应大于6dB.Bode图法判别稳定性举例已知两个单位反馈系统开环传递函数分别为 试用Bode图法判别系统的稳定性.num1= 2.7; den1=1 5 4 0 ; s1=tf(num1,den1);Gm,Pm,Wcp,Wcg=margin(s1)Margin(s1)结果:稳定!-num2= 0 0 02.7; den2=1 5 -4 0 ; s2=tf(num2,den2);Gm2,Pm2,Wcp2,Wcg2=margin(s2)Margin(s2) 结果:不稳定!8.3.3 控制系统时域分析的Matlab实现时域响应仿真的两种方法:Matlab函数指令S

21、IMULINK窗口菜单操作时域仿真的两种响应函数:单位阶跃函数:step(sys); step(sys,t)单位冲激函数:impulse(sys).时域仿真Matlab函数指令方法举例1已知单位负反馈开环传递函数为:G(s)=80/(s2+2s), 试绘出阶跃响应曲线和冲激响应曲线.s1=tf(80, 1 2 0); closys=feedback(s1,1);step(closys);hold on; pause;Impulse(closys); pause;grid时域仿真的SIMULINK方法对于单位负反馈系统simulink方框图为:演示!时域仿真Matlab函数指令方法举例2已知一个

22、系统为:G(s)=k/(s2+cs+k),式中c,k分别取三组值,c,k=1,1.25, 2,2, 4,29,试在同一坐标轴上绘出三条阶跃响应曲线.c=1 2 4;k=1.25 2 29;for j=1:3num=k(j);den=1 c(j) k(j); sys=tf(num,den);step(sys);hold on; pause;end;8.3.4控制系统频域分析的Matlab实现Bode图Nyquist曲线Bode图的绘制Bode图函数bode(sys);也可以用margin函数margin(sys);margin函数同时还算出了稳定裕度值.例如:num1= 2.7; den1=1

23、5 4 0 ; sys1=tf(num1,den1);%bode(sys1)margin(sys1)a,b,c,d= margin(sys1);Nyquist曲线的绘制用函数nyquist(sys)绘制出开环系统的Nyquist曲线可以用来判别闭环系统的稳定性.当系统的开环系统传递函数G(s)的Nyquist曲线按逆时针方向包围(-1+j0)点p次(p为系统开环特征方程中位于s平面右半部的极点数目),则系统稳定.Nyquist曲线的绘制举例num1= 2.7; den1=1 5 4 2 ; sys1=tf(num1,den1);R=roots(den1);nyquist(sys1)结论:开环系

24、统特征方程的根全部在左半平面,故p=0.且Nyquist曲线不包围(-1+j0)点,所以闭环系统是稳定的8.3.5 根轨迹分析的Matlab实现根轨迹是指当开环系统增益k从0变到无穷大时,闭环系统特征方程的根在复平面上移动的轨迹.画根轨迹的函数:rlocus(sys); rlocus(num,den)r,k= rlocus( num, den, k):用指定的k来绘制系统的个别轨迹图.r为系统复根轨迹的位置矩阵.k,poles=rlocfind(sys):该函数命令可计算出与根轨迹上极点(位置为poles)相对应的根轨迹增益(k).命令执行后,可在图形窗口中显示十字形光标,当用户选择根轨迹上的

25、一点时,其相应的增益由k记录,与增益相关的所有极点记录在poles中. 根轨迹分析举例1n1=0.0001 0.0218 1.0436 9.3599;d1=0.006 0.0268 0.6365 6.2711;rlocus(n1,d1)根轨迹分析举例2n1=0.0001 0.0218 1.0436 9.3599;d1=0.006 0.0268 0.6365 6.2711;rlocus(n1,d1);k,poles=rlocfind(n1,d1);3,MATLAB命令大全管理命令和函数help 在线帮助文件doc 装入超文本说明what M、MAT、MEX文件的目录列表type 列出M文件loo

26、kfor 通过help条目搜索关键字which 定位函数和文件Demo 运行演示程序Path 控制MATLAB的搜索路径管理变量和工作空间Who 列出当前变量Whos 列出当前变量(长表)Load 从磁盘文件中恢复变量Save 保存工作空间变量Clear 从内存中清除变量和函数Pack 整理工作空间内存Size 矩阵的尺寸Length 向量的长度disp 显示矩阵或与文件和*作系统有关的命令cd 改变当前工作目录Dir 目录列表Delete 删除文件Getenv 获取环境变量值! 执行DOS*作系统命令Unix 执行UNIX*作系统命令并返回结果Diary 保存MATLAB任务控制命令窗口Ce

27、dit 设置命令行编辑Clc 清命令窗口Home 光标置左上角Format 设置输出格式Echo 底稿文件内使用的回显命令more 在命令窗口中控制分页输出启动和退出MATLABQuit 退出MATLABStartup 引用MATLAB时所执行的M文件Matlabrc 主启动M文件一般信息Info MATLAB系统信息及Mathworks公司信息Subscribe 成为MATLAB的订购用户hostid MATLAB主服务程序的识别代号Whatsnew 在说明书中未包含的新信息Ver 版本信息*作符和特殊字符+ 加 减* 矩阵乘法.* 数组乘法 矩阵幂. 数组幂 左除或反斜杠/ 右除或斜杠./

28、 数组除Kron Kronecker张量积: 冒号( ) 圆括号 方括号. 小数点. 父目录 继续, 逗号; 分号% 注释! 感叹号 转置或引用= 赋值= = 相等 关系*作符& 逻辑与| 逻辑或 逻辑非xor 逻辑异或逻辑函数Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真All 向量的所有元为真,则其值为真Find 找出非零元素的索引号三角函数Sin 正弦Sinh 双曲正弦Asin 反正弦Asinh 反双曲正弦Cos 余弦Cosh 双曲余弦Acos 反余弦Acosh 反双曲余弦Tan 正切Tanh 双曲正切Atan 反正切Atan2 四象限反正切Atanh 反双曲正切

29、Sec 正割Sech 双曲正割Asech 反双曲正割Csc 余割Csch 双曲余割Acsc 反余割Acsch 反双曲余割Cot 余切Coth 双曲余切Acot 反余切Acoth 反双曲余切指数函数Exp 指数Log 自然对数Log10 常用对数Sqrt 平方根复数函数Abs 绝对值Argle 相角Conj 复共轭Image 复数虚部Real 复数实部 数值函数Fix 朝零方向取整Floor 朝负无穷大方向取整Ceil 朝正无穷大方向取整Round 朝最近的整数取整Rem 除后取余Sign 符号函数基本矩阵Zeros 零矩阵Ones 全“1”矩阵Eye 单位矩阵Rand 均匀分布的随机数矩阵Randn 正态分布的随机数矩阵Logspace 对数间隔的向量Meshgrid 三维图形的X和Y数组: 规则间隔的向量特殊变量和常数Ans 当前的答案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1