《MATLAB及应用》实验指导书

更新时间:2023-09-22 05:15:01 阅读量: 工程科技 文档下载

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

MATLAB及应用

实验指导书

实验一 MATLAB使用基础

一、实验目的

1、 熟悉MATLAB基本的操作界面。

2、 掌握MATLAB中变量、数组、向量等对象的生成方法。 3、 掌握符号矩阵的生成和基本运算方法。 4、 掌握MATLAB中平面绘图方法。

5、 掌握MATLAB中的常用帮助命令使用方法。

二、实验设备

计算机,MATLAB语言环境

三、实验基础理论 1、常见数学函数

如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则 ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) = -5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7

2、 系统的在线帮助 (1) help 命令:

1).当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车)

2).当想了解某一主题的内容时,如输入: >> help syntax (了解 Matlab 的语法规定)

3).当想了解某一具体的函数或命令的帮助信息时,如输入:

>> help sqrt (了解函数 sqrt 的相关信息) (2) lookfor 命令

现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数)

3、常量与变量

系统的变量命名规则:变量名区分字母大小写;变量名必须以字母打头,其后 可以是任意字母,数字,或下划线的组合。此外,系统内部预先定义了几个有特殊意 义和用途的变量,见下表:

(1) 数值型向量(矩阵)的输入 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] 2).系统中提供了多个命令用于输入特殊的矩阵:

上面函数的具体用法,可以用帮助命令 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。 (2) 符号向量(矩阵)的输入 1).用函数 sym定义符号矩阵:

函数 sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号 或者是表达式,而且长度没有限制。只需将方括号置于单引号中。 例2:

>> sym_matrix = sym('[a b c;Jack Help_Me NO_WAY]')

sym_matrix =

[ a, b, c] [Jack, Help_Me, NO_WAY]

2).用函数 syms 定义符号矩阵

先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。 例3:

>> syms a b c ; >> M1 = sym('Classical'); >> M2 = sym(' Jazz'); >> M3 = sym('Blues');

>> A = [a b c; M1, M2, M3;sym([2 3 5])] A =

[ a, b, c] [Classical, Jazz, Blues] [ 2, 3, 5]

4、 数组(矩阵)的点运算 运算符:+(加)、-(减)、./(右除)、.\\(左除)、.^(乘方), 例4:

>> 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

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

>> 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 -1

>> X = A/B % A/B = A*B ,即XB=A,求X -1

>> Y = B\\A % B\\A = B *A,即BY=A,求Y

6、平面绘图

MATLAB 能绘制表现非常丰富的平面图形,以下是一些常用的 MATLAB 绘图函数,以绘制不同平面图元和实现不同的平面图形绘制功能:

(1).利用 plot 函数可依据给定的数据绘制平面图形,如绘制正弦函数 y = sin(x ) 的图形:

>>x=-2*pi:pi/10:2*pi? >>y=sin(x)? >>plot(x,y,’r*-’)

可以使用 grid on 绘图网格线和 hold on 同时绘制两个图形,还可以给图形加上各种注解和 处理:

>>x=-2*pi:pi/10:2*pi; >>y=sin(x); >>plot(x,y,‘r*:’)

>>grid on % 绘制网格线 >>hold on

>>y2=2*cos(x); >>plot((x,y2,‘b+-’)

>>xlabel('x 轴'); %x 轴注解 >>ylabel('y 轴'); %y 轴注解

>>title('正弦和余弦函数');%图形标题

>>legend({'y = sin(x)','y2 = cos(x)'});%图形注解 (2).MATLAB 还可以在同一图形窗口完成多个子图的功能,如: >>x=-2*pi:pi/10:2*pi; >>y=sin(x); >>y2=cos(x); >>y3=2*cos(x);

>>y4=sin(x)+cos(x); >>subplot(2,2,1); >>plot(x,y,‘r*:’) >>subplot(2,2,2); >>plot(x,y2,‘b+-’) >>subplot(2,2,3); >>plot(x,y3,‘gp:’) >>subplot(2,2,4) >>plot((x,y4,‘kx’) (3).其它的各种二维函数图

四、实验内容与步骤:

1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;

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

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

3.输入 C=1:2:20,则C(i)表示什么?其中 i=1,2,3,…,10;

4. 建立全零矩阵(zeros),建立全1矩阵(ones);建立对角线为1的矩阵(eye) 5.查找已创建变量的信息,删除无用的变量;

6.请查找相关的命令与函数,获取函数的帮助信息。 7. 练习把 y = sin( x ) / x , z = cos(x ) , u = 2 sin( x ) , v = sin( x ) / cos( x ) 在 [0 , 2 p ] 区间内的四个子图分别用不同的颜色、 点型和线型绘制在同一个窗口中, 并给其中加上纵坐标,标题、图例和网格线。

五、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程 2、总结实验中的主要结论、实践技能和心得体会 3、附上实验过程中所用的程序

实验二 控制系统的时域分析

一、实验目的

1、 熟悉控制系统的时域分析方法;

2、 掌握常用连续信号的MATLAB描述方法;

3、 掌握控制系统的时域响应的MATLAB编程求解方法;

4、 利用MATLAB为工具,通过控制系统定性及定量分析了解参数变化对动态特性的影

响。

二、实验设备

计算机,MATLAB语言环境 三、实验内容与步骤:

1:已知系统开环传递函数模型如下:Go?s??20

s4?8s3?36s2?40sMATLAB编程求出该系统在单位反馈下的阶跃响应曲线和脉冲响应曲线。 提示:

首先求出系统的闭环传递函数模型,如下所示:Gc?s??

Go(s)numo(s) ?1?Go(s)numo(s)?deno(s)2s2?5s?12:已知二阶系统模型如下:Go?s??2

s?2s?3MATLAB编程求出该系统在单位速度信号下的响应曲线和单位加速度信号下的响应曲线;正弦信号下的响应曲线和方波信号下的响应曲线。

?n23:典型二阶系统如下所示:G?s??2 2s?2??ns??n其中ωn为自然频率,ζ为阻尼系数。要求MATLAB编程绘制出当ωn=4,ζ分别为0.1,0.2…1.0,2.0时的系统单位阶跃响应。

?n24:典型二阶系统如下所示:G?s??2 2s?2??ns??n其中ωn为自然频率,ζ为阻尼系数。要求MATLAB编程绘制出当ζ=0.6,分别ωn为2,4,6,8,10,12时的系统单位阶跃响应。

5:一伺服系统如下所示:MATLAB编程求d和e的值,使系统的阶跃响应应满足: 1)超调量σ不大于40%,2)峰值时间tp为0.8秒

Xi?s???ds?s?1?1?esXo?s?ln提示:根据超调量和峰值时间,可求出:??1?1,?n??tp1??2

?2?(ln)2?由图可知闭环传递函数为Gc?s??Xo(s)d ?2Xi(s)s?(d*e?1)s?dd??n2?4.09062?16.733d*e?1?2*0.28*4.0906

与标准的二阶系统传函相比,则可得:于是可得:e = 0.077

综上,该系统的闭环传递函数为:Gc?s??16.733

s2?17.8s?16.733

6:一系统结构如下所示:要使系统的阶跃响应满足: 1)调节时间ts 不超过1秒(5%), 2)超调量σ不大于10%

求k和a的值,无阻尼自然频率ωn,阻尼自然频率ωd, 峰值时间tp和系统的特征方程。 Y?s?R?s?k1

s?as?2? ?

ln提示:根据超调量和调节时间,可求出:??1?1?0.6,?n?3ts??5rad/s

?2?(ln)2?由图可知闭环传递函数为Gc?s??Y(s)k?2 R(s)s?(2?a)s?2a?k与标准的二阶系统传函相比,则可得:

2a?k??n2?52?25a?2?2*0.6*5?6

于是可得:a = 4, k=17,

?d??n1??2?4rad/s, tp???0.79s ?d特征方程s2?(2?a)s?2a?k?0即:s?6s?25?0 四、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程 2、总结实验中的主要结论、实践技能和心得体会 3、附上实验过程中所用的程序。

2实验三 控制系统的根轨迹图

一、实验目的

1、 熟悉控制系统的根轨迹图分析方法;

2、 掌握控制系统的根轨迹图的MATLAB编程求解方法; 3、 利用MATLAB为工具,通过根轨迹图分析控制系统性能。 二、实验设备

计算机,MATLAB语言环境 三、实验内容与步骤:

利用MATLAB编程绘制下例各控制系统根轨迹: 1、 G(s)=ks/(s 2+2s+2); 2、G(s)=(s3+s2+4)/(s3+3s2+7s);

3、G(s)=k(s2+2s+4)/[s(s+4)(s+6)(s2+1.4s+1)]

4、.给定控制系统如下图,其中K?0:画出系统的根轨迹图, 1)准确记录根轨迹的起点、终点与根轨迹条数; 2)确定根轨迹的分离点与相应的根轨迹增益; 3)确定临界稳定时的根轨迹增益; 4)分析增益对系统阻尼特性的影响。

R(s) - + - 10 s?11 sC(s) K

控制系统框图

5、一种具有高性能的机器手的微型机器人的传递函数为:

K(s?1)(s?2)(s?3),K?0

S3(s?1)(1)画出系统的根轨迹图; (2)求使闭环系统稳定的增益范围。

四、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程 2、总结实验中的主要结论、实践技能和心得体会 3、附上实验过程中所用的程序。

实验四 控制系统的频率特性分析

一、实验目的

1、 熟悉控制系统的频域分析方法;

2、 掌握控制系统伯德图和奈奎斯特图的MATLAB编程求解方法; 3、 以MATLAB为工具,利用频域分析法分析控制系统性能。 二、实验设备

计算机,MATLAB语言环境 三、实验内容与步骤:

利用MATLAB编程绘制下例各控制系统伯德图和奈奎斯特图: 1、 G=1/[s(s+1)];

2、 G(s)=(2s2)/[(0.04s+1)(0.4s+1)]; 3、 一系统开环传递函数为:

500(0.0167s?1),绘制系统伯德图,并

s(0.05s?1)(0.0025s?1)(0.001s?1)求出系统的相角稳定裕量和幅值稳定裕量。 4、已知控制系统开环传递函数为:G0(s)?K,试用奈奎斯特稳定

(s?1)(0.5s?1)(0.2s?1)判据判定开环放大系数K为10和50时闭环系统的稳定性。 四、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程 2、总结实验中的主要结论、实践技能和心得体会 3、附上实验过程中所用的程序。

实验五 控制系统的校正

一、实验目的

1、学习控制系统工具箱Simulink;

2、建立SIMULINK动态结构图对控制系统进行串联超前校正实验; 3、建立SIMULINK动态结构图对控制系统进行串联滞后校正实验。 二、实验设备

计算机,MATLAB语言环境 三、实验内容与步骤: 1、串联超前校正实验:

1)设控制系统如图所示,建立Simulink动态结构图,观察其响应曲线。

Gc(s)? 2)加入超前校正装置 , 进行串联超前校正计,观察响应曲线,进

行校正前后系统性能指标对比。 2、进行串联滞后校正实验:

1)设控制系统如图所示,建立SIMULINK动态结构图,观察其单位阶跃响应曲线。

(0.4s?1)(0.1s?1)

2) 加入滞后校正装置 ,满足指标: 待定 ,进行串联滞后校正器设计,观察响应曲线,进行校正前后系统性能指标对比,并理解频域性能指标与时域性能指标的关系。 四、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程

2、超前校正对改善系统性能有什么作用?什么情况下不宜采用串联超前校正? 3、滞后校正对改善系统性能有什么作用?什么情况下不宜采用串联滞后校正?

实验五 控制系统的校正

一、实验目的

1、学习控制系统工具箱Simulink;

2、建立SIMULINK动态结构图对控制系统进行串联超前校正实验; 3、建立SIMULINK动态结构图对控制系统进行串联滞后校正实验。 二、实验设备

计算机,MATLAB语言环境 三、实验内容与步骤: 1、串联超前校正实验:

1)设控制系统如图所示,建立Simulink动态结构图,观察其响应曲线。

Gc(s)? 2)加入超前校正装置 , 进行串联超前校正计,观察响应曲线,进

行校正前后系统性能指标对比。 2、进行串联滞后校正实验:

1)设控制系统如图所示,建立SIMULINK动态结构图,观察其单位阶跃响应曲线。

(0.4s?1)(0.1s?1)

2) 加入滞后校正装置 ,满足指标: 待定 ,进行串联滞后校正器设计,观察响应曲线,进行校正前后系统性能指标对比,并理解频域性能指标与时域性能指标的关系。 四、实验报告要求:

1、简述实验目的、实验原理、实验内容和实验过程

2、超前校正对改善系统性能有什么作用?什么情况下不宜采用串联超前校正? 3、滞后校正对改善系统性能有什么作用?什么情况下不宜采用串联滞后校正?

本文来源:https://www.bwwdw.com/article/1puh.html

Top