实验报告基于Matlab的控制系统仿真1

更新时间:2024-05-05 05:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 基于Matlab的控制系统模型

姓名 学号 班级机械

一、实验目的

1) 熟悉Matlab的使用环境,学习Matlab软件的使用方法和简单编程方法。2) 学习使用Matlab软件进行拉氏变换和拉式反变换的方法。 3) 学习使用Matlab软件建立、转换连续系统数学模型的方法。 4) 学习使用Matlab软件分析控制系统稳定性的方法。

二、实验原理

1. 拉氏变换和反拉氏变换 (1) 拉氏变换

syms a w tf1=exp(-a*t)laplace(f1)f2=t-t?2laplace(f2)f3=t*exp(-a*t)

laplace(f3)f4=sin(w*t)laplace(f4)f5=exp(-a*t)*cos(w*t)laplace(f5)(2) 拉氏反变换

1

syms s a wf1=1/silaplace(f1)f2=1/(s+a)ilaplace(f2)f3=1/s^2…

ilaplace(f3)f4=w/(s^2+w^2)ilaplace(f4)f5=1/(s*(s+2)^2*(s+3))ilaplace(f5)2. 控制系统模型的建立和转化 传递函数模型:

G(s)?numbsm?b2sm?1?…?+bmden?1ansn?11s?a2?…?+bn零极点增益模型:

G(s)?k(s?z1)(s?z2)?(s?zm)(s?p

1)(s?p2)?(s?pn)(1) 建立系统传递函数模型

s(s?1)s2G(s)??s(s?2)(s?3)?s2?5s?6 num=[1,1,0]den=[1,5,6]

Gs1=tf(num,den)(2) 建立系统的零极点模型

z=[0,-1]p=[-2,-3]k=[1]

Gs1=zpk(z,p,k)(3) 传递函数模型转化为零极点模型

2

num=[1,1,0]den=[1,5,6] Gs1=tf(num,den)[z,p,k]=tf2zp(num,den)Gs2=zpk(z,p,k)(4) 零极点模型转化为传递函数模型

z=[0,-1]p=[-2,-3]k=[1]Gs1=zpk(z,p,k)

[num,den]=zp2tf(z',p',k)Gs2=tf(num,den)3. 用Matlab进行传递函数部分分式展开

s)?nums5?11s4?39s3G(+52s+26den?s4?10s3?35s2+50s+24 ?12.5?30.5s+4?s+3?s+2?s+1?1num=[1 11 39 52 26]den=[1 10 35 50 24] [r,p,k]=residue(num,den)4. 连续系统稳定性分析

已知传递函数,试求该系统的闭环极点并判断系统的稳定性。

G(s)?s3+7s2+24s+24s8?2s7?3s6?4s5+5s4?6s3?7s2+8s+9 (1)

den=[1 2 3 4 5 6 7 8 9];roots(den)

计算结果:

-1.2888 + 0.4477i -1.2888 - 0.4477i -0.7244 + 1.1370i -0.7244 - 1.1370i 0.1364 + 1.3050i

3

0.1364 - 1.3050i 0.8767 + 0.8814i 0.8767 - 0.8814i

由计算结果可知,该系统有4个极点具有正实部,因此系统不稳定。

(2)

num=[1,7,24,24];den=[1 2 3 4 5 6 7 8 9];pzmap(num,den);

title('Pole-Zero Map')零极点分布图:

三、实验内容

1. 用Matlab求下两式的拉氏变换。

g1(t)?1?0.5t2e?t?te?t?e?t syms t

g1=1-0.5*t^2*exp(-t)-t*exp(-t)-exp(-t) laplace(g1)

g1 =1-1/2*t^2*exp(-t)-t*exp(-t)-exp(-t) ans =1/s-1/(1+s)^3-1/(1+s)^2-1/(1+s)

g2(t)?0.6?0.3e?tsin2t?0.6e?tcos2t

syms t

g2=0.6-0.3*exp(-t)*sin(-2*t)-0.6*exp(-t)*cos(2*t)

4

laplace(g2) g2 =

3/5+3/10*exp(-t)*sin(2*t)-3/5*exp(-t)*cos(2*t) ans =

3/5/s+3/20/(1/4*(1+s)^2+1)-3/20*(1+s)/(1/4*(1+s)^2+1)

2. 用Matlab求解拉式反变换。

Gs?1(s)?2syms s

s(s?1)2(s?3)g1=(s+2)/(s*(s+1)^2*(s+3)) ilaplace(g1) g1 =

(s + 2)/(s*(s + 1)^2*(s + 3)) ans =

exp(-3*t)/12 - (3*exp(-t))/4 - (t*exp(-t))/2 + 2/3 G(s)?s2?3s?52syms s

s2?s?2g2=(s^2+3*s+5)/(s^2+s+2) ilaplace(g2) g2 =

(s^2 + 3*s + 5)/(s^2 + s + 2) ans =

dirac(t) + 2*exp(-t/2)*(cos((7^(1/2)*t)/2) + (2*7^(1/2)*sin((7^(1/2)*t)/2))/7) 3. 用Matlab将以下零极点模型转换为一般多项式传递函数模型。

G(s)?5(s?1)s2(s?2)(s?5)

z=[-1]

p=[0,0,-2,-5] k=[5]

Gs1=zpk(z,p,k)

[num,den]=zp2tf(z',p',k) Gs2=tf(num,den) z = -1

p = 0 0 -2 -5 k = 5 Gs1 =

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

Continuous-time zero/pole/gain model

5

num =

0 0 0 5 5 den =

1 7 10 0 0 Gs2 =

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

4. 用Matlab将以下传递函数转换为零极点模型。

G(s)?s3+7s2+24s+24s8?2s7?3s6?4s5+5s4?6s3?7s2+8s+9 num=[1,7,24,24]

den=[1,2,3,4,5,6,7,8,9] Gs1=tf(num,den)

[z,p,k]=tf2zp(num,den) Gs2=zpk(z,p,k) num =

1 7 24 24 den =

1 2 3 4 5 6 7 8 Gs1 =

s^3 + 7 s^2 + 24 s + 24 -------------------------------------------------------------

s^8 + 2 s^7 + 3 s^6 + 4 s^5 + 5 s^4 + 6 s^3 + 7 s^2 + 8 s + 9 Continuous-time transfer function. z =

-2.7306 + 2.8531i -2.7306 - 2.8531i -1.5388 + 0.0000i p =

-1.2888 + 0.4477i -1.2888 - 0.4477i -0.7244 + 1.1370i -0.7244 - 1.1370i 0.1364 + 1.3050i 0.1364 - 1.3050i 0.8767 + 0.8814i 0.8767 - 0.8814i k =1 Gs2 =

9

6

(s+1.539) (s^2 + 5.461s + 15.6)

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

(s^2 + 2.578s + 1.861) (s^2 - 1.753s + 1.545) (s^2 + 1.449s + 1.817) (s^2 - 0.2728s + 1.722)

5. 用Matlab对以下传递函数按部分分式展开。 32s?5s?9s?7 G(s)?(s?1)(s?2)

num=[1,5,9,7]

den=conv([1, 1],[1 ,2]) Gs1=tf(num,den)

[r,p,k]=residue(num,den) num =

1 5 9 7 den =

1 3 2 Gs1 =

s^3 + 5 s^2 + 9 s + 7 --------------------- s^2 + 3 s + 2

Continuous-time transfer function. r = -1 2 p = -2 -1

k = 1 2

6. 已知传递函数,试用两种方法求该系统的闭环极点并判断系统的稳定性。

s3-15s+126G(s)?5

s+s4?2s3?2s2+3s+5方法一:根据稳定的充分必要条件判别线性系统的稳定性, 最简单的方法是

求出系统所有极点,并观察是否含有实部大于0的极点,如果有,系统则不稳定。

(1)den=[1 1 2 2 3 5]

roots(den)

7

den =

1 1 2 2 3 5 ans =

0.7207 + 1.1656i 0.7207 - 1.1656i -0.6018 + 1.3375i -0.6018 - 1.3375i -1.2378 + 0.0000i

由计算结果可知,该系统有2个极点具有正实部,因此系统不稳定。

方法2:

(2)num=[1 -15 126]

den=[1 1 2 2 3 5] pzmap(num,den) title('Pole-Zero Map')

零极点分布图:

从计算机结果以及零极点图可以看出,该系统的极点并不都在s左半开平面,有一对共轭极点位于S右半开平面,所以该系统不稳定。

四、实验报告

根据实验结果进行分析。本文利用MATLAB函数的方法实现了对线性系统的稳定性分析,其过程简单,方法有效,结论直观,由此可见,MATLAB为工程技术人

8

员分析、设计较优的控制系统提供了强有力的工具。

9

本文来源:https://www.bwwdw.com/article/6kfg.html

Top