用MATLAB处理系统数学模型.ppt

上传人:牧羊曲112 文档编号:6002236 上传时间:2023-09-13 格式:PPT 页数:44 大小:780.50KB
返回 下载 相关 举报
用MATLAB处理系统数学模型.ppt_第1页
第1页 / 共44页
用MATLAB处理系统数学模型.ppt_第2页
第2页 / 共44页
用MATLAB处理系统数学模型.ppt_第3页
第3页 / 共44页
用MATLAB处理系统数学模型.ppt_第4页
第4页 / 共44页
用MATLAB处理系统数学模型.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《用MATLAB处理系统数学模型.ppt》由会员分享,可在线阅读,更多相关《用MATLAB处理系统数学模型.ppt(44页珍藏版)》请在三一办公上搜索。

1、用MATLAB 处理系统数学模型,关于MATLAB,new 用于创建新.m文件、图形、模型和图形用户界面 1.blank m-file 创建表格(或空白)文件。2.function m-file 创建函数文件。3.class m-file 创建类文件。4.figure 创建图形文件。5.variable 创建变量文件。6.model 创建模型(或模拟)文件。7.GUI 创建图形用户界面。,在MATLAB中需注意的问题,1、语句结束键入回车键,若语句的最后一个字 符是分号,即“;”,则表明不输出当前命 令的结果。2、如果表达式很长,一行放不下,可以键入“.”(三个点,但前面必须有个空格,目 的是

2、避免将形如“数2.”理解为“数2.”与“.”的 连接,从而导致错误),然后回车。,3、MATLAB变量字母区分大小写,函数名一般用小写字母,如 inv(A)不能写成INV(A),否则系统认为未定义函数4、指令及标点符号必须在英文状态下输入。,Sym 函数用来建立单个符号量,一般调用格式为:符号量名=sym(符号字符串)该函数可以建立一个符号量,符号字符串可以是常量、变量、函数或表达式。,Syms 函数一次可以定义多个符号变量。一般调用格式为:Syms 符号变量名1 符号变量名2.符号变量名n 用这种格式定义符号变量时不要再变量名上加字符串分界符(),变量间用空格而不用逗号分隔。,一、拉氏变换和

3、反变换,拉氏变换与反变换的输入格式:laplace(f)求函数f(t)的拉氏变换 ilaplace(L)求L的拉氏反变换,syms a s t;ft=exp(a*t);st=laplace(ft)st=-1/(a-s),例2-1 求f(t)=eat 的拉氏变换,syms a s t;st=laplace(exp(a*t)st=-1/(a-s),syms s t;y=laplace(sin(t)+2*cos(t)y=(2*s)/(s2+1)+1/(s2+1),例2-2 求f(t)=sint+2cost 的拉氏变换,例2-3 求F(s)=的拉氏反变换,syms s t;F=ilaplace(s2+

4、3*s)/(s+1)*(s+2)F=2/exp(2*t)-2/exp(t)+dirac(t),例2-4 求F(s)=的拉氏反变换,syms s t;F=ilaplace(s-1)/(s+1)*(s+2)F=3/exp(2*t)-2/exp(t),二、多项式运算,在Matlab中,n次多项式是用一个长度为n+1的向量来表示,缺少的幂次项系数为 0即,p(x)=anxn+an-1xn-1+a1x+a0 在 Matlab中表示为相应的向量 an,an-1,k,a1,a0,例如,3x3+2x2+1 3,2,0,1 注:系数中的0不能省略,调用函数 x=roots(p)若p是n次多项式,则输出x为包含p

5、(x)=0的n个根的n维向量,多项式求根,例2-5 求多项式p(x)=x4+8x3+10的根,p=1 8 0 0 10;r=roots(p)%多项式求根r=-7.9803-1.1335 0.5569+0.8918i 0.5569-0.8918i,多项式由根建多项式,若已知多项式的全部根,则可以用poly函数建立起该多项式。其调用格式为:p=poly(x),例2-5 由例2-5的根建多项式,p=1 8 0 0 10;r=roots(p)%多项式求根p=poly(r)%由根建多项式r=-7.9803-1.1335 0.5569+0.8918i 0.5569-0.8918ip=1.0000 8.00

6、00 0.0000-0.0000 10.0000,多项式乘法,调用函数 k=conv(p,q)例2-6 计算多项式 2x3-x2+3 和 2x+1 的乘积,结果为 4x4-x2+6x+3,p=2-1 0 3;q=2 1;k=conv(p,q)%多项式乘法 k=4 0-1 6 3,求多项式的值,调用函数为 y=polyval(p,x),p=2-1 0 3;q=2 1;k=conv(p,q)%多项式乘法y=polyval(k,3)%多项式求值k=4 0-1 6 3y=336,三、微分方程求解,调用函 数 s=dslove(方程1,方程2,方程n,初始条件,自变量)其中,输入的变量包括三部分内容:微

7、分方程、初始条件和指定的独立变量。其中微分方程是必不可少的输入内容,其余视需要而定。默认的独立变量是t,用户也可以使用别的变量来代替t,只要把它放在输入变量的最后即可。,例如 字母D代表微分算子,即,字母D后面所跟的数字代表微分的阶次,如D2代表,微分算子后面所跟的字母代表被微分的变量,如D3y代表对y(t)的三阶微分。键入:y=dsolve(3*D2y+3*Dy+2*y=1),y=dsolve(D2y+4*Dy+29*y=0,.y(0)=0,Dy(0)=15,x)y=(3*sin(5*x)/exp(2*x),例2-7 求微分方程的特解,四、建立传递函数,显示多项式传递函数,nm 1.分子和分

8、母各项系数按照降次排列,分别计入num=,den=,缺项系数补零。num=b0 b1bm-1 bm den=a0 a1an-1 an2.建立传递函数模型 g=tf(num,den)其中tf为函数,不可变。(transfer functions),num=12 24 0 20;den=2 4 6 2 2;g=tf(num,den)%传递函数Transfer function:12 s3+24 s2+20-2 s4+4 s3+6 s2+2 s+2,例2-8 在MATLAB中表示,例2-9已知系统的传递函数描述如下:,其中,多项式相乘项可借助多项式乘法函数conv来处理,num=4*conv(1,2

9、,conv(1,6,6,1,6,6);den=conv(1,0,conv(1,1,conv(1,1,.conv(1,1,1,3,2,5);g=tf(num,den)Transfer function:4 s5+56 s4+288 s3+672 s2+720 s+288-s7+6 s6+14 s5+21 s4+24 s3+17 s2+5 s,其中,k为零极点增益,zi为零点,pj为极点。该模型,在Matlab中可用z,p,k矢量组表示,即 z=z1,z2,.,zm;p=p1,p2,.,pn;k=k 然后在Matlab中写上零极点增益形式的传递函数 模型建立函数:g=zpk(z,p,k),显示零、

10、极点式传递函数,例2-10 试用Matlab建立传递函数,z=-3;p=-1,-2,-5;k=6;g=zpk(z,p,k)%零极点增益传递函数Zero/pole/gain:6(s+3)-(s+1)(s+2)(s+5),五、结构图的串联、并联与反馈,1.串联可采用如下函数或语句来实现sys=series(sys1,sys2)sys=sys1*sys2num,den=series(num1,den1,num2,den2),num1=2;den1=1 3;num2=7;den2=1 2 1;G1=tf(num1,den1);G2=tf(num2,den2);G=series(G1,G2)%结构图的串

11、联Transfer function:14-s3+5 s2+7 s+3,例2-11两环节G1、G2串联,求等效的整体传递函数G,num1=2;den1=1 3;num2=7;den2=1 2 1;num,den=series(num1,den1,num2,den2)printsys(num,den)num=0 0 0 14den=1 5 7 3num/den=14-s3+5 s2+7 s+3,2.并联可采用如下的语句或函数来实现:sys=parallel(sys1,sys2)sys=sys1+sys2 num,den=parallel(num1,den1,num2,den2),3.反馈 可采用

12、如下的语句或函数来实现:sys=feedback(sys1,sys2,sign)num,den=feedback(num1,den1,num2,den2,sign)其中,sign用来定义反馈形式。若为正反馈,则sign=+1,若为负反馈,则sign=-1。默认值为负反馈。,例2-12 已知,求闭环传递函数。两环节sys1、sys2分别为,-,num1=3 100;den1=1 2 81;num2=2;den2=2 5;sys1=tf(num1,den1);sys2=tf(num2,den2);sys=feedback(sys1,sys2,-1)%结构图的反馈Transfer function:

13、6 s2+215 s+500-2 s3+9 s2+178 s+605,num1=3 100;den1=1 2 81;num2=2;den2=2 5;num,den=feedback(num1,den1,num2,den2,-1)printsys(num,den)num=0 6 215 500den=2 9 178 605 num/den=6 s2+215 s+500-2 s3+9 s2+178 s+605,谢谢!,练习,p54 2-2(1)(3)2-3(3)(4)2-4(1),在MATLAB中表示用零、极点形式建立函数已知 求等效于G1,G2,G3,G4串联的传递函数求等效于G1,G4并联的传递函数求等效于G1,G4负反馈连接的传递函数,sys=cloop(sys1,sign)%用来实现单位反馈 numc,denc=cloop(num,den,sign),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号