控制系统仿真实验指导书(DOC)

更新时间:2023-10-07 04:43:01 阅读量: 综合文库 文档下载

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

目 录

实验1 Matlab矩阵运算 ............................................................................................ 2 实验2 M文件编程 ................................................................................................... 5 实验3 实验4 实验5 实验6 实验7 实验8 MATLAB控制系统数学模型及其转换 ...................................................... 6 MATLAB控制系统时域分析 ...................................................................... 9 MATLAB控制系统频域分析 .................................................................... 15 Simulink仿真方法练习 .............................................................................. 19 MATLAB控制系统超前和滞后校正器设计 ............................................ 22 MATLAB控制系统PID调节器设计 ........................................................ 23

实验1 Matlab矩阵运算

一、实验目的

1、 掌握向量和矩阵的创建方法; 2、 掌握向量和矩阵元素的索引方法; 3、 掌握向量和矩阵的基本操作; 4、 利用MATLAB编写程序进行矩阵运算。

二、基础知识

1、常见数学函数 函 数 名 Abs(x) Acos(x) acosh(x) angle(x) asin(x) asinh(x) atan(x) 数 学 计 算 功 能 实数的绝对值或复数的幅值 反余弦arcsinx 反双曲余弦arccoshx 在四象限内求复数 x 的相角 反正弦arcsinx 反双曲正弦arcsinhx 反正切arctanx 函 数 名 floor(x) gcd(m,n) imag(x) lcm(m,n) log(x) log10(x) real(x) Rem(m,n) round(x) sign(x) sin(x) sinh(x) sqrt(x) tan(x) tanh(x) 数 学 计 算 功 能 对x朝-∞方向取整 求正整数m和n的最大公约数 求复数x的虚部 求正整数m和n的最小公倍数 自然对数(以e为底数) 常用对数(以10为底数) 求复数x的实部 求正整数m和n的m/n之余数 对x四舍五入到最接近的整数 符号函数:求出x的符号 正弦sinx 反双曲正弦sinhx 求实数x的平方根:x 正切tanx 双曲正切tanhx atan2(x,y) 在四象限内求反正切 atanh(x) ceil(x) conj(x) cos(x) cosh(x) exp(x) fix(x) 反双曲正切arctanhx 对x朝+∞方向取整 求复数x的共轭复数 余弦cosx 双曲余弦coshx 指数函数 xe 对x朝原点方向取整 2、常量与变量

系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表: 特殊的变量、常量 ans pi eps inf NaN i,j 用于结果的缺省变量名 圆周率π的近似值(3.1416) 数学中无穷小(epsilon)的近似值(2.2204e - 016) 无穷大,如 1/0 = inf (infinity) 非数,如 0/0 = NaN (Not a Number),inf / inf = NaN 虚数单位:i = j =1? 取 值 数值型向量(矩阵)的输入

① 任何矩阵(向量),可以直接按行方式……输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。所有元素处于一方括号([ ])内;

例1:

>> Time = [11 12 1 2 3 4 5 6 7 8 9 10] >> X_Data = [2.32 3.43;4.37 5.98]

② 系统中提供了多个命令用于输入特殊的矩阵: 函数 compan diag 功 能 伴随阵 对角阵 函数 功 能 toeplitz Toeplitz矩阵 vander zeros ones Vandermonde矩阵 元素全为0的矩阵 元素全为1的矩阵 元素服从均匀分布的随机矩阵 元素服从正态分布的随机矩阵 对角线上元素为1的矩阵 hadamard Hadamard矩阵 hankel Hankel矩阵 invhilb Hilbert矩阵的逆阵 rand kron magic pascal Kronercker张量积 randn 魔方矩阵 Pascal矩阵 eye meshgrid 由两个向量生成的矩阵 上面函数的具体用法,可以用帮助命令help得到。如:meshgrid(x,y) 输入 x=[1 2 3 4]; y=[1 0 5]; [X,Y]=meshgrid(x, y),则 X = Y =

1 2 3 4 1 1 1 1 1 2 3 4 0 0 0 0 1 2 3 4 5 5 5 5

目的是将原始数据x,y转化为矩阵数据X,Y。 3、数组(矩阵)的点运算

运算符:+(加)、-(减)、./(右除)、.\\(左除)、.^(乘方), 例3:

>> g = [1 2 3 4];h = [4 3 2 1];

>> s1 = g + h, s2 = g.*h, s3 = g.^h, s4 = g.^2, s5 = 2.^h 4、矩阵的运算

运算符:+(加)、-(减)、*(乘)、/(右除)、\\(左除)、^(乘方)、’(转置)等; 常用函数:det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)

例4:

>> A= [2 0 –1; 1 3 2]; B= [1 7 –1; 4 2 3; 2 0 1]; >> M = A*B % 矩阵A与B按矩阵运算相乘 >> det_B = det(B) % 矩阵A的行列式 >> rank_A = rank(A) % 矩阵A的秩

>> inv_B = inv(B) % 矩阵B的逆矩阵

>> [V,D] = eig(B) % 矩阵B的特征值矩阵V与特征向量构成的矩阵D >> X = A/B % A/B = A*B,即XB=A,求X >> Y = B\\A % B\\A = B-1*A,即BY=A,求Y

-1

三、实验内容

1、练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过。 2、键入常数矩阵输入命令: a = [1 2 3] 与 a = [1;2;3] 记录结果,比较显示结果有何不同; b = [1 2 5] 与 b = [1 2 5]; 记录结果,比较显示结果有何不同; a a’ b b’

记录结果,比较变量加“’”后的区别; c = a * b c = a* b’ 记录显示结果与出错原因;

a = [1 2 3; 4 5 6; 7 8 0],求a^2 a^0.5 记录显示结果。

3、使用冒号选出指定元素:已知 A=[1 2 3;4 5 6;7 8 9],求 A 中第 3 列前 2 个元素,A 中所有列第 2,3 行的元素。

4、输入 A=[7 1 5; 2 5 6; 3 1 5],B=[1 1 1; 2 2 2; 3 3 3],在命令窗口中执行下列表达式,掌握其含义:

A(2,3) A(:,2) A(3,:) A(:,1:2:3) A(:,3).*B(:,2) A(:,3)*B(2,:) A*B A.*B A^2 A.^2 B/A B./A

?123???5、建立 M 文件,求A??221?的逆矩阵。

?343????123??13??21?????C?206、 设A??221?,B??, ???,建立 M 文件,求矩阵 X ,使满足:AXB = C 。53???343??31?????四、实验报告要求

1、 写清学号、姓名、班级及实验名称;

2、 按照上述步骤进行实验,并按实验记录完成实验报告。

实验2 M文件编程

一、实验目的

1、了解M语言的特点; 2、了解M文件调试。

二、预习要求

1、理解MATLAB中的各种流程控制(if语句、switch语句、for语句、while语句等); 2、理解MATLAB中函数文件的编写方法。

三、实验内容

1、流程控制:

(1)编程实现1到100之间所有能被5整除的数之和;

(2)已知x(1)=1,x(2)=10,x(n)=(x(n-1)+x(n-2))/2,求数列x(n)的前10项; 2、函数文件:

(1)编写一个函数,计算一个输入向量各元素的平均值。

(2)输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

四、实验报告要求

1、写清学号、姓名、班级及实验名称; 2、写出试验操作步骤及结果分析。

2、绘制一阶惯性环节

G(s)?35s?1的奈魁斯特图。

3、绘制传递函数G(s)?1280s?640的尼柯尔斯图。432s?24.2s?1604.81s?320.24s?16

4、已知某系统的开环传递函数为G0(s)?500(0.0167s?1),试绘制系统的伯德图,

s(0.05s?1)(0.0025s?1)(0.001s?1)并求系统的相角稳定裕量和幅值稳定裕量。

5510[(s)2?s?1]445、已知系统的开环传递函数为G0(s)?,试用对数稳定性判据判别闭环系100.21s2(s?1)(s?1)(s?1)3340统的稳定性。

四、实验报告要求

按照上述步骤进行实验,并按实验记录完成实验报告。

实验6 Simulink仿真方法练习

一、实验目的

1、熟悉Simulink工作环境及特点; 2、掌握Simulink的建模与仿真方法。

二、相关知识

1、Simulink

Simulink是MATLAB的一个部件,它为MATLAB用户提供了一种有效的对反馈控制系统进行建模、仿真和分析的方式。

有两种方式启动Simulink:

① 在Command window中,键入Simulink,回车。 ② 单击工具栏上Simulink图标。

启动Simulink后,即打开了Simulink库浏览器(Simulink library browser)。在该浏览器的窗口中单击“Create a new model(创建新模型)”图标,这样就打开一个尚未命名的模型窗口。把Simulink库浏览器中的单元拖拽进入这个模型窗口,构造自己需要的模型。对各个单元部件的参数进行设定,可以双击该单元部件的图标,在弹出的对话框中设置参数。 2、了解SIMULINK 模块库中各子模块基本功能

3、SIMULINK 的建模与仿真方法

(1)打开模块库,找出相应的模块。鼠标左键点击相应模块,拖拽到模型窗口中即可。 (2)创建子系统:当模型大而复杂时,可创建子系统。 (3)设置仿真控制参数。

三、实验步骤

1、在Simulink集成环境下建立模型;

创建子系统

本文来源:https://www.bwwdw.com/article/316d.html

Top