机械控制工程基础实验课

试验一数学模型的Matlab 描述

一、实验目的

①掌握Malab 中数学模型的三种表现形式 ②掌握三种模型之间的转换方法 ③掌握复杂传递函数的求取方法 ④了解复杂系统表现形式及建模方法 二、实验要求

①在Matlab 中实现三种数学模型的描述 ②实现三种数学模型之间的转换 ③写出试验报告 三、实验内容

Matlab 中数学模型主要有三种形式:传递函数分子/分母多项式、传递函数零极点增益模型和状态空间模型。它们各有特点,有时需要在各种模型之间进行转换。 (1)已知系统传递函数

2s +7

G (s ) =4

32

s +2s +2s +5s +6

在Matlab 中表示出该模型

程序:

close all clear all clc num=[2,7]; den=[1,2,2,5,6];

G1=tf(num,den)

运行结果:

Transfer function: 2 s + 7

----------------------------- s^4 + 2 s^3 + 2 s^2 + 5 s + 6

%将(1)中模型转换成零极点增益模型和状态空间模型 程序:

[z1,p1,k1]=tf2zp(num,den); G12=zpk(z1,p1,k1)

[A1,B1,C1,D1]=tf2ss(num,den); G13=ss(A1,B1,C1,D1) 运行结果:

Zero/pole/gain:

2 (s+3.5)

------------------------------------------------ (s^2 + 2.975s + 2.424) (s^2 - 0.9747s + 2.475)

a =

x1 x2 x3 x4 x1 -2 -2 -5 -6 x2 1 0 0 0 x3 0 1 0 0 x4 0 0 1 0 b =

u1 x1 1 x2 0 x3 0 x4 0 c =

x1 x2 x3 x4 y1 0 0 2 7 d =

u1 y1 0

Continuous-time model.

(2)在Matlab 中表示出传递函数

s

G (s ) =

(s +2)(s +1) 2

程序:

close all clear all clc z=[0]; p=[-2,-1,-1]; k=[1]; G2=zpk(z,p,k)

运行结果:

Zero/pole/gain: s

------------- (s+2) (s+1)^2

%将(2)中模型转换成分子分母多项式模型和状态空间模型 程序:

[num1,den1]=zp2tf(z,p,k); G21=tf(num1,den1)

[A2,B2,C2,D2]=zp2ss(z,p,k); G23=ss(A2,B2,C2,D2) 运行结果:

Transfer function: s

--------------------- s^3 + 4 s^2 + 5 s + 2

a =

x1 x2 x3 x1 -1 0 0 x2 -1 -3 -1.414 x3 0 1.414 0 b =

u1 x1 1 x2 1 x3 0 c =

x1 x2 x3 y1 0 0 0.7071

d =

u1 y1 0

Continuous-time model.

3、已知连续系统∑(A ,B ,C ,D )的系数矩阵是:

⎡20A =⎢⎢04⎢⎣00C =[11在Matlab 中表示出该模型。程序:

close all clear all clc

A=[2 0 0;0 4 1;0 0 4]; B=[1;0;1]; C=[1 1 0]; D=0;

G3=ss(A,B,C,D)

运行结果:

a =

x1 x2 x3 x1 2 0 0 x2 0 4 1 x3 0 0 4 b =

u1 x1 1 x2 0 x3 1 c =

x1 x2 x3 y1 1 1 0 d =

u1

0⎤

⎡1⎤1⎥4⎥B =⎢⎥⎢0⎥⎦

,⎢⎥⎣1⎥⎦,

0],D =[0]

y1 0

Continuous-time model.

%将(3)中模型转换成分子分母多项式模型和零极点增益模型 程序:

[num2,den2]=ss2tf(A,B,C,D); G31=tf(num2,den2)

[z2,p2,k2]=ss2zp(A,B,C,D); G32=zpk(z2,p2,k2) 运行结果:

Transfer function: s^2 - 7 s + 14

------------------------ s^3 - 10 s^2 + 32 s - 32

Zero/pole/gain: (s^2 - 7s + 14) ---------------- (s-2) (s-4)^2

4、用Matlab 表示传递函数为

5(s 2+s +1)

G (s ) =2

(s +3s +1)(s 3+6s 2+5s +3)(s +2)

的系统

程序:

close all clear all clc

num3=5*[1,1,1];

den3=conv(conv(conv([1,3,1],[1,3,1]),[1,6,5,3]),[1,2]); G4=tf(num3,den3)

运行结果:

Transfer function:

5 s^2 + 5 s + 5

---------------------------------------------------------

s^8+14s^7+76s^6+209s^5+320s^4+289s^3+161s^2+49s+6

8(s +6)

5、G (s ) =s 2+13s +62

6、G (s ) =

(s +1. 539)(s +2. 7305+2. 8538j )(s +2. 7305-2. 8538j )

(s +4)(s +3)(s +2)(s +1)

7、已知一造纸厂工业中的网前箱为一加压液流箱系统。该系统的状态变量是箱中流位h (t ) 与料浆的总压头H (t ) ,输入变量是料浆流入量u 1(t ) 与空气流入量u 2(t ) ,输出变量就是状态变量H (t ) 和h (t ) 本身。系统状态空间模型为

⎧⎡∙⎤⎡-0. 39500. 01145⎤⎡H (t ) ⎤⎡0. 033621. 038⎤⎡u 1(t ) ⎤⎪⎢H ∙(t ) ⎥=⎢+⎢⎢u (t ) ⎥⎥⎢⎥⎪⎢h (t ) ⎥⎣-0. 0110⎦⎣h (t ) ⎦⎣0. 0009660⎥⎦⎣2⎦⎦⎨⎣

y (t ) u (t ) H (t ) ⎪⎡1⎤⎡1⎤⎡⎤

=[11]+[00]⎪⎢y (t ) ⎥⎢u (t ) ⎥⎢h (t ) ⎥

⎣⎦2⎣⎦⎣2⎦⎩

试求多个输入到输出的传递函数与多个输入到输出的零极点增益模型。

7(2s +3)

G (s ) =8、s 2(3s +1)(s +2) 2(5s 3+3s +8)

试验二利用Matlab 分析时间响应

一、 实验目的

①掌握impulse 函数、step 函数和lsim 函数的用法 ②掌握利用三种函数求解系统的时间响应 ③掌握Matlab 中系统时域性能指标的求解方法 ④了解simulink 中系统动态模型的建立方法

二、 实验要求

①用impulse 、step 和lsim 函数对线形连续系统的时间响应进行仿真计算。

②在对系统进行单位阶跃响应的基础上,求取系统时域性能指标。

③写出试验报告。

三、 实验内容

(1)impulse 函数、step 函数和lsim 函数的说明

Impulse 函数 step 函数

lsim 函数

(2)求系统二阶系统φ(s ) =

C (s ) 4

=2的单位脉冲响应、单位R (s ) s +2. 4s +4

阶跃响应、正弦(u =sin(2πt ) )响应,并在求出阶跃响应的基础上求系统的上升时间、峰值时间、最大超调量和调整时间。

程序:

close all clear all clc

%系统的建立

num=[4]; den=[1,2.4,4]; G=tf(num,den);

%求系统的单位脉冲响应

t=[0:0.001:10]; [y1,T1]=impulse(G,t);

%求系统的单位阶跃响应

[y2,T2]=step(G,t);

%求系统的正弦响应

u=sin(2*pi*t); [y3,T3]=lsim(G,u,t); e=u-y3'; subplot(311) plot(T1,y1) grid on

legend(' 单位脉冲响应' ) xlabel('t(sec)') ylabel('y1(t)') subplot(312) plot(T2,y2) grid on

legend(' 单位阶跃响应' ) xlabel('t(sec)') ylabel('y2(t)') subplot(313)

plot(t,u,'--' ,T3,y3, '-' ,t,e, '-.' , 'linewidth' ,1) grid on

legend(' 正弦响应' ) xlabel('t(sec)') ylabel('y3(t)')

%求上升时间、峰值时间、超调量、调整时间

cs=length(T2); yss=y2(cs);

r=1;while y2(r)

while (y2(n)/yss)>(1-0.02)&(y2(n)/yss)

ts2=(n-1)*0.001

运行结果:

tr = 13.8400 mp = 9.4772 tp = 1.9630 ts2 =

2.9710

(3)求系统的时间响应

有一位置随动系统,其方框图如上图,该系统的传递函数

50

G (s ) =2

0. 05s +(1+50τ) s +50

τ=0. 0125,τ=0. 025时的单位脉冲响应、求系统在时间常数τ=0,

单位阶跃响应和正弦输入响应;

程序:

close all clear all clc

t1=[0.0:0.001:1]; nG=[50];

tao=0;dG=[0.05 1+50*tao 50];G1=tf(nG,dG); tao=0.0125;dG=[0.05 1+50*tao 50];G2=tf(nG,dG); tao=0.025;dG=[0.05 1+50*tao 50];G3=tf(nG,dG); [y1,T]=impulse(G1,t1);[y1a,T]=step(G1,t1); [y2,T]=impulse(G2,t1);[y2a,T]=step(G2,t1); [y3,T]=impulse(G3,t1);[y3a,T]=step(G3,t1); subplot(121),plot(T,y1,'--' ,T,y2, '-.' ,T,y3, '-' ) legend('tao=0', 'tao=0.0125', 'tao=0.025') xlabel('t(sec)'),ylabel('x(t)');grid on ;

subplot(122),plot(T,y1a,'--' ,T,y2a, '-.' ,T,y3a, '-' ) legend('tao=0', 'tao=0.0125', 'tao=0.025') xlabel('t(sec)'),ylabel('x(t)');grid on ;

%正弦输入

t=[0:0.01:1];u=sin(2*pi*t); tao4=0.025;

nG4=[50];dG4=[0.05 1+50*tao4 50];G4=tf(nG4,dG4); y=lsim(G4,u,t); e=u-y';

plot(t,u,'--' ,t,y, '-' ,t,e, '-.' , 'linewidth' ,1) legend('u(t)', 'X0(t)', 'e(t)')

grid on ;xlabel('t(sec)'),ylabel('x(t)');

运行结果:

单位脉冲响应 单位阶跃响应

正弦响应及误差曲线

(3)求系统的瞬态性能指标

在(2)中求出系统得单位阶跃响应后,求出系统的上升时间、峰值时间、最大超调量和调整时间等性能指标。

程序:

yss=1;dta=0.02;

r=1;while y1a(r)

[ymax1,tp1]=max(y1a);tp1=(tp1-1)*0.001; mp1=(ymax1-yss)/yss

s=length(t1);while y1a(s)>1-dta&y1a(s)

r=1;while y2a(r)

[ymax2,tp2]=max(y2a);tp2=(tp2-1)*0.001; mp2=(ymax2-yss)/yss

s=length(t1);while y2a(s)>1-dta&y2a(s)

r=1;while y3a(r)

[ymax3,tp3]=max(y3a);tp3=(tp3-1)*0.001; mp3=(ymax3-yss)/yss

s=length(t1);while y3a(s)>1-dta&y3a(s)

[tr1 tp1 mp1 ts1;tr2 tp2 mp2 ts2;tr3 tp3 mp3 ts3]

运行结果:

ans =

0.0640 0.1050 0.3509 0.3530 0.0780 0.1160 0.1523 0.2500 0.1070 0.1410 0.0415 0.1880

练习:

1、

50

G (s ) =求系统0. 05s 2+s +50的单位脉冲响应、单位

阶跃响应、余弦(v =cos(2πt ) )响应。

2、

ωn

已知二阶系统传递函数为φ(s ) =22

s +2ξωn +ωn

2

,当

ωn =1时,试绘制当阻尼比ξ值从0到1(步长0.1)时二阶系

统的单位阶跃响应簇(book163)

-

πζ

1-ζ2

3、 欠阻尼二阶系统的超调量σ%=e ⨯100%,试绘制

σ%与ζ之间的关系曲线σ=f (ζ) 与ζ=f (σ) 。(book161)

4、 已知自动控制一阶系统给定单位阶跃响应为h (t ) =1-e

1-t T

, 试

计算响应曲线起始t=0时的斜率与t=T的斜率。(book158) ωn C (s )

=25、 设闭环传递函数φ(s ) =2的二阶系统在单R (s ) s +2ζωn s +ωn

2

位阶跃函数作用下的输出响应为

h (t ) =1-1. 25e -1. 2t sin(1. 6t +53. 1) 。试计算系统参数ζ、ωn ,

并求此时的超调量σ%、峰值时间t p 、调节时间t s 与振荡次数N 。(book159)(根据自动控制原理:二阶系统的闭环传递函数为ωn C (s )

φ(s ) ==2

R (s ) s +2ζωn s +ωn 2

2

,单位阶跃响应为

h (t ) =1-

1-ζ2

e -ζωn t n sin(ωd t +β) )

C (s ) s 3+7s 2+24s +24

=46、在simulink 中建立系统的φ=仿真R (s ) s +25s 3+35s 2+50s +24

动态模型

试验三利用Matlab 分析频率特性

一、 实验目的

①掌握nyquist 函数、bode 函数的用法 ②掌握nyquist 图、bode 图的绘制方法 ③掌握Matlab 中系统的频域特征量的求解方法 二、实验要求

①用nyquist 函数绘制系统的nyquist 图。 ②用bode 函数绘制系统的bode 图。 ③用Matlab 求系统的频域特征量。 ④写出试验报告

三、实验内容

1、用Matlab 绘制Nyquist 图

用Matlab 绘制传递函数为

7. 5(0. 2s +1)(s +1) G (s ) =2

s (s +16s +100)

的系统的Nyqist 图。

程序:

close all clear all clc

%传递函数

num=7.5*conv([0.2,1],[1 1]); den=conv([1,0],[1,16,100]); G=tf(num,den)

%绘制Nyquist 图

[re,im]=nyquist(num,den); figure(1) plot(re,im);grid

运行结果:

2、用Matlab 绘制Bode 图

用Matlab 绘制传递函数为

2. 5(s +10)

G (s ) =2

s (0. 2s +1)

的系统的bode 图。

程序:

close all clear all clc

%传递函数

num=2.5*[1 10];

den=conv([1,0,0],[0.2,1]); G=tf(num,den)

%绘制bode 图

w=logspace(-2,3,100); figure(2) bode(num,den,w)

运行结果:

3、用Matlab 求系统的频域特征量 对于传递函数为

200

G (s ) =2

s +8s +100

的系统,用bode 函数求得不同频率下,系统得幅频特性,从而根据定义计算出系统的频域特征量。

程序:

close all clear all clc

%求系统的频域特征量

num1=[200];den1=[1,8,100]; w=logspace(-1,3,100); [Gm,Pm,w]=bode(num1,den1,w); [Mr,k]=max(Gm);

Mr=20*log10(Mr);Wr=w(k); M0=20*log10(Gm(1));

n=1;while 20*log10(Gm(n))>=-3;n=n+1;end Wb=w(n);

[M0 Wb Wr Mr]

运行结果:

ans =

6.0212 20.0923 7.9248 8.6942

20s (s +5)(s +40)

4、绘制系统G (s ) =s (s +0. 1)(s +20) 2的Nyquist 图、bode 图。

试验四利用Matlab 分析系统稳定性

一、实验目的

①掌握roots 函数、margin 函数的用法 ②掌握Matlab 中系统特征根的求解方法 ③掌握Matlab 中系统稳定性的判定方法 二、实验要求

①用roots 函数求解系统特征方程的特征根并判定系统的稳定性。

②用margin 函数求出系统的幅值裕度、相位裕度、幅值穿越频率和相位穿越频率,并判定系统的相对稳定性。 ③写出试验报告

三、实验内容

1、 利用Matlab 求系统的特征根 (1)设系统的特征方程为

D (s ) =s 5+2s 4+24s 3+48s 2-25s -50=0

用Matlab 的roots 函数求出系统的所有的特征根,从而判定系统是否

稳定。

程序:

%求系统的特征根

close all clear all clc

D=[1 2 24 48 -25 -50]; roots(D)

运行结果:

ans =

0.0000 + 5.0000i 0.0000 - 5.0000i 1.0000 -2.0000 -1.0000

6

5

4

3

2

(2) 设系统特征方程为s +4s -4s +4s -7s -8s +10=0 ,试计算特征根并判别该系统的稳定性。 2、 利用Matlab 分析系统的相对稳定性

10

(1) 已知某系统开环传递函数为G (s ) H (s ) =,试

s (2s +1)(s 2+0. 5s +1)

用Bode 图法判断闭环系统的稳定性,并用阶跃响应曲线验证。

程序:%分析系统的相对稳定性 close all clear all clc

num=[10];

den=conv(conv([1,0],[2,1]),[1,0.5,1]); G=tf(num,den);

[Gm,Pm,Wcg,Wcp]=margin(G); Gm=20*log10(Gm) Pm=Pm Wcg=Wcg Wcp=Wcp

%用margin 函数绘制系统的bode 图 figure(1)

margin(G)

%用bode 函数绘制系统的bode 图

figure(2)

bode(G)

%绘制系统单位阶跃响应曲线验证系统的稳定性

sys=feedback(G,1);

t=0:0.01:10;

figure(2)

step(sys,t)

运行结果:

Warning: The closed-loop system is unstable.

> In lti.margin at 89

In book184 at 8

Gm =

-22.5020

Pm =

-136.3866

Wcg =

0.7067

Wcp =

1.6210

(2) 已知控制系统的开环传递函数为

K G (s ) H (s ) =s (s +1)(s +5)

应用margin 函数求K=10及K=100其幅值裕度、相位裕度、幅值穿越频率和相位穿越频率,从而判断系统稳定性的变化。

程序:

close all

clear all

clc

den=conv([1,5],[1,1,0]);

num1=[10];

[Gm1,Pm1,Wcg1,Wcp1]=margin(num1,den);

num2=[100];

[mag,phase,w]=bode(num2,den);

[Gm2,Pm2,Wcg2,Wcp2]=margin(mag,phase,w);

[20*log10(Gm1) Pm1 Wcg1 Wcp1;20*log10(Gm2) Pm2 Wcg2 Wcp2]

运行结果:

ans =

9.5424 25.3898 2.2361 1.2271

-10.4576 -23.5463 2.2361 3.9010

19

(3)已知某系统开环传递函数为G (s ) H (s ) =s (s +1)(0. 1s +1) ,试用Bode 图法判断闭环系统的稳定性,并用阶跃响应曲线验证。

试验一数学模型的Matlab 描述

一、实验目的

①掌握Malab 中数学模型的三种表现形式 ②掌握三种模型之间的转换方法 ③掌握复杂传递函数的求取方法 ④了解复杂系统表现形式及建模方法 二、实验要求

①在Matlab 中实现三种数学模型的描述 ②实现三种数学模型之间的转换 ③写出试验报告 三、实验内容

Matlab 中数学模型主要有三种形式:传递函数分子/分母多项式、传递函数零极点增益模型和状态空间模型。它们各有特点,有时需要在各种模型之间进行转换。 (1)已知系统传递函数

2s +7

G (s ) =4

32

s +2s +2s +5s +6

在Matlab 中表示出该模型

程序:

close all clear all clc num=[2,7]; den=[1,2,2,5,6];

G1=tf(num,den)

运行结果:

Transfer function: 2 s + 7

----------------------------- s^4 + 2 s^3 + 2 s^2 + 5 s + 6

%将(1)中模型转换成零极点增益模型和状态空间模型 程序:

[z1,p1,k1]=tf2zp(num,den); G12=zpk(z1,p1,k1)

[A1,B1,C1,D1]=tf2ss(num,den); G13=ss(A1,B1,C1,D1) 运行结果:

Zero/pole/gain:

2 (s+3.5)

------------------------------------------------ (s^2 + 2.975s + 2.424) (s^2 - 0.9747s + 2.475)

a =

x1 x2 x3 x4 x1 -2 -2 -5 -6 x2 1 0 0 0 x3 0 1 0 0 x4 0 0 1 0 b =

u1 x1 1 x2 0 x3 0 x4 0 c =

x1 x2 x3 x4 y1 0 0 2 7 d =

u1 y1 0

Continuous-time model.

(2)在Matlab 中表示出传递函数

s

G (s ) =

(s +2)(s +1) 2

程序:

close all clear all clc z=[0]; p=[-2,-1,-1]; k=[1]; G2=zpk(z,p,k)

运行结果:

Zero/pole/gain: s

------------- (s+2) (s+1)^2

%将(2)中模型转换成分子分母多项式模型和状态空间模型 程序:

[num1,den1]=zp2tf(z,p,k); G21=tf(num1,den1)

[A2,B2,C2,D2]=zp2ss(z,p,k); G23=ss(A2,B2,C2,D2) 运行结果:

Transfer function: s

--------------------- s^3 + 4 s^2 + 5 s + 2

a =

x1 x2 x3 x1 -1 0 0 x2 -1 -3 -1.414 x3 0 1.414 0 b =

u1 x1 1 x2 1 x3 0 c =

x1 x2 x3 y1 0 0 0.7071

d =

u1 y1 0

Continuous-time model.

3、已知连续系统∑(A ,B ,C ,D )的系数矩阵是:

⎡20A =⎢⎢04⎢⎣00C =[11在Matlab 中表示出该模型。程序:

close all clear all clc

A=[2 0 0;0 4 1;0 0 4]; B=[1;0;1]; C=[1 1 0]; D=0;

G3=ss(A,B,C,D)

运行结果:

a =

x1 x2 x3 x1 2 0 0 x2 0 4 1 x3 0 0 4 b =

u1 x1 1 x2 0 x3 1 c =

x1 x2 x3 y1 1 1 0 d =

u1

0⎤

⎡1⎤1⎥4⎥B =⎢⎥⎢0⎥⎦

,⎢⎥⎣1⎥⎦,

0],D =[0]

y1 0

Continuous-time model.

%将(3)中模型转换成分子分母多项式模型和零极点增益模型 程序:

[num2,den2]=ss2tf(A,B,C,D); G31=tf(num2,den2)

[z2,p2,k2]=ss2zp(A,B,C,D); G32=zpk(z2,p2,k2) 运行结果:

Transfer function: s^2 - 7 s + 14

------------------------ s^3 - 10 s^2 + 32 s - 32

Zero/pole/gain: (s^2 - 7s + 14) ---------------- (s-2) (s-4)^2

4、用Matlab 表示传递函数为

5(s 2+s +1)

G (s ) =2

(s +3s +1)(s 3+6s 2+5s +3)(s +2)

的系统

程序:

close all clear all clc

num3=5*[1,1,1];

den3=conv(conv(conv([1,3,1],[1,3,1]),[1,6,5,3]),[1,2]); G4=tf(num3,den3)

运行结果:

Transfer function:

5 s^2 + 5 s + 5

---------------------------------------------------------

s^8+14s^7+76s^6+209s^5+320s^4+289s^3+161s^2+49s+6

8(s +6)

5、G (s ) =s 2+13s +62

6、G (s ) =

(s +1. 539)(s +2. 7305+2. 8538j )(s +2. 7305-2. 8538j )

(s +4)(s +3)(s +2)(s +1)

7、已知一造纸厂工业中的网前箱为一加压液流箱系统。该系统的状态变量是箱中流位h (t ) 与料浆的总压头H (t ) ,输入变量是料浆流入量u 1(t ) 与空气流入量u 2(t ) ,输出变量就是状态变量H (t ) 和h (t ) 本身。系统状态空间模型为

⎧⎡∙⎤⎡-0. 39500. 01145⎤⎡H (t ) ⎤⎡0. 033621. 038⎤⎡u 1(t ) ⎤⎪⎢H ∙(t ) ⎥=⎢+⎢⎢u (t ) ⎥⎥⎢⎥⎪⎢h (t ) ⎥⎣-0. 0110⎦⎣h (t ) ⎦⎣0. 0009660⎥⎦⎣2⎦⎦⎨⎣

y (t ) u (t ) H (t ) ⎪⎡1⎤⎡1⎤⎡⎤

=[11]+[00]⎪⎢y (t ) ⎥⎢u (t ) ⎥⎢h (t ) ⎥

⎣⎦2⎣⎦⎣2⎦⎩

试求多个输入到输出的传递函数与多个输入到输出的零极点增益模型。

7(2s +3)

G (s ) =8、s 2(3s +1)(s +2) 2(5s 3+3s +8)

试验二利用Matlab 分析时间响应

一、 实验目的

①掌握impulse 函数、step 函数和lsim 函数的用法 ②掌握利用三种函数求解系统的时间响应 ③掌握Matlab 中系统时域性能指标的求解方法 ④了解simulink 中系统动态模型的建立方法

二、 实验要求

①用impulse 、step 和lsim 函数对线形连续系统的时间响应进行仿真计算。

②在对系统进行单位阶跃响应的基础上,求取系统时域性能指标。

③写出试验报告。

三、 实验内容

(1)impulse 函数、step 函数和lsim 函数的说明

Impulse 函数 step 函数

lsim 函数

(2)求系统二阶系统φ(s ) =

C (s ) 4

=2的单位脉冲响应、单位R (s ) s +2. 4s +4

阶跃响应、正弦(u =sin(2πt ) )响应,并在求出阶跃响应的基础上求系统的上升时间、峰值时间、最大超调量和调整时间。

程序:

close all clear all clc

%系统的建立

num=[4]; den=[1,2.4,4]; G=tf(num,den);

%求系统的单位脉冲响应

t=[0:0.001:10]; [y1,T1]=impulse(G,t);

%求系统的单位阶跃响应

[y2,T2]=step(G,t);

%求系统的正弦响应

u=sin(2*pi*t); [y3,T3]=lsim(G,u,t); e=u-y3'; subplot(311) plot(T1,y1) grid on

legend(' 单位脉冲响应' ) xlabel('t(sec)') ylabel('y1(t)') subplot(312) plot(T2,y2) grid on

legend(' 单位阶跃响应' ) xlabel('t(sec)') ylabel('y2(t)') subplot(313)

plot(t,u,'--' ,T3,y3, '-' ,t,e, '-.' , 'linewidth' ,1) grid on

legend(' 正弦响应' ) xlabel('t(sec)') ylabel('y3(t)')

%求上升时间、峰值时间、超调量、调整时间

cs=length(T2); yss=y2(cs);

r=1;while y2(r)

while (y2(n)/yss)>(1-0.02)&(y2(n)/yss)

ts2=(n-1)*0.001

运行结果:

tr = 13.8400 mp = 9.4772 tp = 1.9630 ts2 =

2.9710

(3)求系统的时间响应

有一位置随动系统,其方框图如上图,该系统的传递函数

50

G (s ) =2

0. 05s +(1+50τ) s +50

τ=0. 0125,τ=0. 025时的单位脉冲响应、求系统在时间常数τ=0,

单位阶跃响应和正弦输入响应;

程序:

close all clear all clc

t1=[0.0:0.001:1]; nG=[50];

tao=0;dG=[0.05 1+50*tao 50];G1=tf(nG,dG); tao=0.0125;dG=[0.05 1+50*tao 50];G2=tf(nG,dG); tao=0.025;dG=[0.05 1+50*tao 50];G3=tf(nG,dG); [y1,T]=impulse(G1,t1);[y1a,T]=step(G1,t1); [y2,T]=impulse(G2,t1);[y2a,T]=step(G2,t1); [y3,T]=impulse(G3,t1);[y3a,T]=step(G3,t1); subplot(121),plot(T,y1,'--' ,T,y2, '-.' ,T,y3, '-' ) legend('tao=0', 'tao=0.0125', 'tao=0.025') xlabel('t(sec)'),ylabel('x(t)');grid on ;

subplot(122),plot(T,y1a,'--' ,T,y2a, '-.' ,T,y3a, '-' ) legend('tao=0', 'tao=0.0125', 'tao=0.025') xlabel('t(sec)'),ylabel('x(t)');grid on ;

%正弦输入

t=[0:0.01:1];u=sin(2*pi*t); tao4=0.025;

nG4=[50];dG4=[0.05 1+50*tao4 50];G4=tf(nG4,dG4); y=lsim(G4,u,t); e=u-y';

plot(t,u,'--' ,t,y, '-' ,t,e, '-.' , 'linewidth' ,1) legend('u(t)', 'X0(t)', 'e(t)')

grid on ;xlabel('t(sec)'),ylabel('x(t)');

运行结果:

单位脉冲响应 单位阶跃响应

正弦响应及误差曲线

(3)求系统的瞬态性能指标

在(2)中求出系统得单位阶跃响应后,求出系统的上升时间、峰值时间、最大超调量和调整时间等性能指标。

程序:

yss=1;dta=0.02;

r=1;while y1a(r)

[ymax1,tp1]=max(y1a);tp1=(tp1-1)*0.001; mp1=(ymax1-yss)/yss

s=length(t1);while y1a(s)>1-dta&y1a(s)

r=1;while y2a(r)

[ymax2,tp2]=max(y2a);tp2=(tp2-1)*0.001; mp2=(ymax2-yss)/yss

s=length(t1);while y2a(s)>1-dta&y2a(s)

r=1;while y3a(r)

[ymax3,tp3]=max(y3a);tp3=(tp3-1)*0.001; mp3=(ymax3-yss)/yss

s=length(t1);while y3a(s)>1-dta&y3a(s)

[tr1 tp1 mp1 ts1;tr2 tp2 mp2 ts2;tr3 tp3 mp3 ts3]

运行结果:

ans =

0.0640 0.1050 0.3509 0.3530 0.0780 0.1160 0.1523 0.2500 0.1070 0.1410 0.0415 0.1880

练习:

1、

50

G (s ) =求系统0. 05s 2+s +50的单位脉冲响应、单位

阶跃响应、余弦(v =cos(2πt ) )响应。

2、

ωn

已知二阶系统传递函数为φ(s ) =22

s +2ξωn +ωn

2

,当

ωn =1时,试绘制当阻尼比ξ值从0到1(步长0.1)时二阶系

统的单位阶跃响应簇(book163)

-

πζ

1-ζ2

3、 欠阻尼二阶系统的超调量σ%=e ⨯100%,试绘制

σ%与ζ之间的关系曲线σ=f (ζ) 与ζ=f (σ) 。(book161)

4、 已知自动控制一阶系统给定单位阶跃响应为h (t ) =1-e

1-t T

, 试

计算响应曲线起始t=0时的斜率与t=T的斜率。(book158) ωn C (s )

=25、 设闭环传递函数φ(s ) =2的二阶系统在单R (s ) s +2ζωn s +ωn

2

位阶跃函数作用下的输出响应为

h (t ) =1-1. 25e -1. 2t sin(1. 6t +53. 1) 。试计算系统参数ζ、ωn ,

并求此时的超调量σ%、峰值时间t p 、调节时间t s 与振荡次数N 。(book159)(根据自动控制原理:二阶系统的闭环传递函数为ωn C (s )

φ(s ) ==2

R (s ) s +2ζωn s +ωn 2

2

,单位阶跃响应为

h (t ) =1-

1-ζ2

e -ζωn t n sin(ωd t +β) )

C (s ) s 3+7s 2+24s +24

=46、在simulink 中建立系统的φ=仿真R (s ) s +25s 3+35s 2+50s +24

动态模型

试验三利用Matlab 分析频率特性

一、 实验目的

①掌握nyquist 函数、bode 函数的用法 ②掌握nyquist 图、bode 图的绘制方法 ③掌握Matlab 中系统的频域特征量的求解方法 二、实验要求

①用nyquist 函数绘制系统的nyquist 图。 ②用bode 函数绘制系统的bode 图。 ③用Matlab 求系统的频域特征量。 ④写出试验报告

三、实验内容

1、用Matlab 绘制Nyquist 图

用Matlab 绘制传递函数为

7. 5(0. 2s +1)(s +1) G (s ) =2

s (s +16s +100)

的系统的Nyqist 图。

程序:

close all clear all clc

%传递函数

num=7.5*conv([0.2,1],[1 1]); den=conv([1,0],[1,16,100]); G=tf(num,den)

%绘制Nyquist 图

[re,im]=nyquist(num,den); figure(1) plot(re,im);grid

运行结果:

2、用Matlab 绘制Bode 图

用Matlab 绘制传递函数为

2. 5(s +10)

G (s ) =2

s (0. 2s +1)

的系统的bode 图。

程序:

close all clear all clc

%传递函数

num=2.5*[1 10];

den=conv([1,0,0],[0.2,1]); G=tf(num,den)

%绘制bode 图

w=logspace(-2,3,100); figure(2) bode(num,den,w)

运行结果:

3、用Matlab 求系统的频域特征量 对于传递函数为

200

G (s ) =2

s +8s +100

的系统,用bode 函数求得不同频率下,系统得幅频特性,从而根据定义计算出系统的频域特征量。

程序:

close all clear all clc

%求系统的频域特征量

num1=[200];den1=[1,8,100]; w=logspace(-1,3,100); [Gm,Pm,w]=bode(num1,den1,w); [Mr,k]=max(Gm);

Mr=20*log10(Mr);Wr=w(k); M0=20*log10(Gm(1));

n=1;while 20*log10(Gm(n))>=-3;n=n+1;end Wb=w(n);

[M0 Wb Wr Mr]

运行结果:

ans =

6.0212 20.0923 7.9248 8.6942

20s (s +5)(s +40)

4、绘制系统G (s ) =s (s +0. 1)(s +20) 2的Nyquist 图、bode 图。

试验四利用Matlab 分析系统稳定性

一、实验目的

①掌握roots 函数、margin 函数的用法 ②掌握Matlab 中系统特征根的求解方法 ③掌握Matlab 中系统稳定性的判定方法 二、实验要求

①用roots 函数求解系统特征方程的特征根并判定系统的稳定性。

②用margin 函数求出系统的幅值裕度、相位裕度、幅值穿越频率和相位穿越频率,并判定系统的相对稳定性。 ③写出试验报告

三、实验内容

1、 利用Matlab 求系统的特征根 (1)设系统的特征方程为

D (s ) =s 5+2s 4+24s 3+48s 2-25s -50=0

用Matlab 的roots 函数求出系统的所有的特征根,从而判定系统是否

稳定。

程序:

%求系统的特征根

close all clear all clc

D=[1 2 24 48 -25 -50]; roots(D)

运行结果:

ans =

0.0000 + 5.0000i 0.0000 - 5.0000i 1.0000 -2.0000 -1.0000

6

5

4

3

2

(2) 设系统特征方程为s +4s -4s +4s -7s -8s +10=0 ,试计算特征根并判别该系统的稳定性。 2、 利用Matlab 分析系统的相对稳定性

10

(1) 已知某系统开环传递函数为G (s ) H (s ) =,试

s (2s +1)(s 2+0. 5s +1)

用Bode 图法判断闭环系统的稳定性,并用阶跃响应曲线验证。

程序:%分析系统的相对稳定性 close all clear all clc

num=[10];

den=conv(conv([1,0],[2,1]),[1,0.5,1]); G=tf(num,den);

[Gm,Pm,Wcg,Wcp]=margin(G); Gm=20*log10(Gm) Pm=Pm Wcg=Wcg Wcp=Wcp

%用margin 函数绘制系统的bode 图 figure(1)

margin(G)

%用bode 函数绘制系统的bode 图

figure(2)

bode(G)

%绘制系统单位阶跃响应曲线验证系统的稳定性

sys=feedback(G,1);

t=0:0.01:10;

figure(2)

step(sys,t)

运行结果:

Warning: The closed-loop system is unstable.

> In lti.margin at 89

In book184 at 8

Gm =

-22.5020

Pm =

-136.3866

Wcg =

0.7067

Wcp =

1.6210

(2) 已知控制系统的开环传递函数为

K G (s ) H (s ) =s (s +1)(s +5)

应用margin 函数求K=10及K=100其幅值裕度、相位裕度、幅值穿越频率和相位穿越频率,从而判断系统稳定性的变化。

程序:

close all

clear all

clc

den=conv([1,5],[1,1,0]);

num1=[10];

[Gm1,Pm1,Wcg1,Wcp1]=margin(num1,den);

num2=[100];

[mag,phase,w]=bode(num2,den);

[Gm2,Pm2,Wcg2,Wcp2]=margin(mag,phase,w);

[20*log10(Gm1) Pm1 Wcg1 Wcp1;20*log10(Gm2) Pm2 Wcg2 Wcp2]

运行结果:

ans =

9.5424 25.3898 2.2361 1.2271

-10.4576 -23.5463 2.2361 3.9010

19

(3)已知某系统开环传递函数为G (s ) H (s ) =s (s +1)(0. 1s +1) ,试用Bode 图法判断闭环系统的稳定性,并用阶跃响应曲线验证。


相关文章

  • 工程技术类专业总括
  • 作为一名机械电子工程的大三学生,最近想在百度文库里赚点学分,然后下 点我需要的文档急用.因为对工程技术类的专业比较熟悉,而网上对这方面的 介绍实在是太少了,现在的学生对工程技术类专业也是知之甚少.目前我们国 家的技术人员还是比较缺乏的.所以 ...查看


  • 西南交通大学材料成型及控制工程2014级培养计划
  • 材料成型及控制工程专业培养方案 一.专业培养目标及培养要求 1.培养目标 本专业培养适应我国社会主义现代化建设需要,德.智.体.美全面发展,具有良好的工程素质.职业道德和人文科学素养,掌握机械.材料.电气控制等学科基础知识,能够在材料成形原 ...查看


  • 济南大学实验室介绍
  • CAD 实验室 CAD 实验室承担全院所有的上机实践课程,涉及课程学习.课程设计和毕业设计等多个教学环节,是 Solid Works 中国有限公司在山东设立的首家 Solid Works 授权教育基地及 CSWA 考试中心. 实验室设三个分 ...查看


  • 材料成型及控制工程导论论文
  • 材料成型及控制工程导论论文 材 控 试 一 班 蒲 东 林 ·中文摘要:材料成型及控制工程是研究热加工改变材料的微观结构.宏观性能和表面形状,研究热加工过程中的相关工艺因素对材料的影响,解决成型工艺开发.成型设备.工艺优化的理论和方法:研究 ...查看


  • 机械电子工程基础”课程教学大纲
  • "机械电子工程基础"课程教学大纲 英文名称:Elements of Mechatronic Engineering 课程编号:MACH3453 学时:48 (理论学时:16 实验学时:32 课外学时:20) 学分:2 适 ...查看


  • 浙江工业大学研究生复试科目
  • 首页加入收藏   o o o o o o o o 首页 聚焦工大 校园风光研究生教育动态工大学子学科介绍 学科学位点导师队伍招考信息 招生简章拟招生计划专业目录参考书目考试大纲专业课历年真题复试科目 往年录取信息推荐免试相关下载招考查询 ...查看


  • 过程装备与控制工程
  • 浙江 培养目标 浙江大大江 2015级过程装备与控制工程专业培养方案 培养具有宽广视野.良好素质.较强创新精神和协作意识的过程装备与控制工程领域高层次复合型人 学大 Z h 才.毕业生扎实掌握机械.化工.力学.控制和材料等专业知识,熟悉人文 ...查看


  • 机械制造与自动化简介
  • 专业培养目标 本专业培养具备机械制造基础知识与应用能力,能在工业生产第一线从事机械制造领域内的设计制造.科技开发.应用研究.运行管理和经营销售等方面工作的高级工程技术人才. 专业培养要求 本专业学生主要学习机械制造的基础理论,学习微电子技术 ...查看


  • 过程装备与控制工程就业考研指南
  • 过程装备与控制工程就业考研指南 一. 专业概况 本专业培养具备化学工程.机械工程.控制工程和管理工程等方面的知识,能在化工.石油.能源.轻工.环保.医药.食品.机械及劳动安全等部门从事工程设计.技术开发.生产技术.经营管理以及工程科学研究等 ...查看


  • 土工艺性试验报告
  • 摊铺压实工艺性试验报告 (一般路堤DK27+100-DK27+200) 黑龙江中铁建设监理有限责任公司前抚铁路项目监理部: 根据路基施工验标的要求,我单位已完成一般路堤填筑摊铺压实工艺性试验,2010年6月28日,压实工艺性试验已结束,试验 ...查看


热门内容