MATLAB在机械工程控制基础中的应用
MATLAB在机械工程控制基础中的应用 1.求拉氏变换 >> syms t y; y=sin(t); Y=laplace(y) 2.将象函数展开成部分分式 >> b=[1, 0, -9]; a=[1, 0, -1]; [k,p,c]=residue(b,a) k = 4, -4 p = -1, 1 c = 1 3. 求单位阶跃响应 (1). >>G=tf([1],[1,1]);step(G) >> step([1],[1,1],10) (2) >>b=[1]; a=[1,1,1]; Gs=tf(b,a); t=0:0.1:20; plot(t,step(Gs,t), r* ); title( 二阶系统单位阶跃响应 ); xlabel( 时间/s ); ylabel( 输出 ); (3).已知二阶系统传递函数为 分别用MATLAB求其单位阶跃响应,并表示在同一张图上,分析零点的影响。 >>close all;clear;clc; b0=[1]; b1=[4,1]; b2=[2,1]; b3=[1,1]; a=[1,1,1]; Gs0=tf(b0,a); Gs1=tf(b1,a); Gs2=tf(b2,a); Gs3=tf(b3,a); t=0:0.1:15; [y0,t]=step(Gs0,t); [y1,t]=step(Gs1,t); [y2,t]=step(Gs2,t); [y3,t]=step(Gs3,t); figure(1); plot(t,y0, r ,t,y1, b ,t,y2, k ,t,y3, g ); Grid on; xlabel( 时间/s ); ylabel( 输出 ); 4.作bode图 >> G=tf([1],[1,1]);bode(G) 5. 作nyquist图 >> G=tf([1],[1,1]);nyquist(G) 6.给定频率范围 >> b=[100];a=[1,100.01,1,0];G=tf(b,a);bode(G,{0.001,1000}) >> b=[100];a=[1,100.01,1,0];G=tf(b,a);nyquist(G,{0.6,1000})