MATLAB与控制系统仿真实验指导书.docx
- 文档编号:12726498
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:22
- 大小:179.62KB
MATLAB与控制系统仿真实验指导书.docx
《MATLAB与控制系统仿真实验指导书.docx》由会员分享,可在线阅读,更多相关《MATLAB与控制系统仿真实验指导书.docx(22页珍藏版)》请在冰豆网上搜索。
MATLAB与控制系统仿真实验指导书
《MATLAB与控制系统仿真》
实验指导书
(2011年第一版)
西安邮电学院自动化学院
2011年6月
目录
前言1
MATLAB语言实验项目3
实验一熟悉MATLAB集成环境与基础运算3
实验二MATLAB的基本计算7
实验三MATLAB图形系统9
实验四MATLAB程序设计13
实验五MATLAB函数文件15
实验六MATLAB数据处理与多项式计算17
实验七SIMULINK仿真实验21
前言
MATLAB产品家族是美国MathWorks公司开发的用于概念设计、算法开发、建模仿真、实时实现的理想的集成环境。
是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。
MATLAB由于其完整的专业体系和先进的设计开发思路,使得MATLAB在多种领域都有广阔的应用空间,特别是在科学计算、建模仿真以及系统工程的设计开发上已经成为行业内的首选设计工具,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB软件工具在自动化专业、测控技术与仪器和电气工程及其自动化等专业的本科生学习中,经常用来计算、仿真和设计,尤其是MATLAB软件的仿真功能,能使学生对所学知识有更加深入的理解和分析。
《MATLAB与控制系统仿真》课程,和《自动控制原理》、《现代控制理论》、《数字信号处理》、《电力电子技术》等重要的专业课程相互支撑、相辅相成,同时也有利于学生完成课程设计和毕业设计等实践教学环节。
本实验指导书共设置了12个实验项目,分别从MATLAB工作环境熟悉、MATLAB的基本计算、MATLAB绘图功能、MATLAB基本程序设计、SIMULINK仿真实验、滤波器设计及仿真、控制系统仿真及电力电子系统仿真等实验项目,通过选取的上机实验,可使学生更好的熟悉MATLAB软件的功能,掌握MATLAB程序设计的一般方法,培养学生的应用开发能力。
每个实验2个小时左右,不同的专业可根据需求自行选择。
实验注意事项
1.实验开始前,应先检查本组电脑设备是否工作正常,MATLAB软件工作是否正常。
2.实验时每位同学应独立完成实验任务,避免抄袭。
3.实验后应及时将实验数据进行记录与存盘,避免因电脑故障或其它原因造成实验数据的丢失。
4.测量数据或观察现象要认真细致,实事求是。
5.实验结束后,实验记录交指导教师查看并认为无误后,方可关掉电脑离开。
6.自觉遵守学校和实验室管理的其它有关规定。
实验报告要求(包含预习报告要求和最终报告要求)
每次实验后,应对实验进行总结,即实验数据进行整理,绘制波形和图表,分析实验现象,撰写实验报告。
实验报告除写明实验名称、日期外,还包括:
1.实验名称
2.实验目的
3.实验设备及条件
4.实验内容及要求
5.实验程序设计
程序代码
6.实验结果及结果分析
实验结果要求必须客观,有数据的可以记录数据,没有数据的简单描述实验现象。
结果分析是对实验结果的理论评判。
7.实验中出现的问题及解决方法
8.实验的收获与体会
MATLAB语言实验项目
实验一熟悉MATLAB集成环境与基础运算
一、实验目的
1.熟悉启动和退出MATLAB软件的方法、熟悉MATLAB软件的运行环境。
2.熟悉MATLAB命令窗口的组成。
3.熟悉MATLAB的基本操作。
4.掌握建立矩阵的方法。
5.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验设备及条件
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验原理
1.MATLAB的启动
MATLAB系统的启动有三种常见方法:
1)使用Windows“开始”菜单。
2)运行MATLAB系统启动程序matlab.exe。
3)利用快捷方式。
2.MATLAB系统的退出
要退出MATLAB系统,也有三种常见方法:
1)在MATLAB主窗口File菜单中选择Exitmatlab命令。
2)在MATLAB命令窗口输入Exit或Quit命令。
3)单击MATLAB主窗口的“关闭”按钮。
3.MATLAB帮助窗口
进入帮助窗口可以通过以下三种方法:
1)单击MATLAB主窗口工具栏中的help按钮。
2)在命令窗口中输入helpwin、helpdesk或doc。
3)选择help菜单中的“matlabhelp”选项。
4.MATLAB帮助命令
1)help命令
在MATLAB命令窗口直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。
同样,可以通过help加函数名来显示该函数的帮助说明。
2)lookfor命令
help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的m文件进行关键字搜索,条件比较宽松。
3)模糊查询
用户只要输入命令的前几个字母,然后按tab键,系统就会列出所有以这几个字母开头的命令。
5.赋值语句
1)变量=表达式
2)表达式
6.矩阵的建立
1)直接输入法:
将矩阵的元素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分开,不同行的元素之间用分号分开。
2)利用m文件建立矩阵
3)利用冒号表达式建立一个向量e1:
e2:
e3
4)利用linspace函数产生行向量linspace(a,b,n).
四、实验内容
1.练习下面指令:
cd,clear,help,who,whos,dir,path,save,load。
2.建立自己的工作目录MYWORK和MYDATA,并将它们分别加到搜索路径的前面或者后面。
3.求
的算术运算结果。
4.先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)
(2)
(3)
(4)
提示:
用逻辑表达式求分段函数值。
5.利用MATLAB的帮助功能分别查询path、plot2d、min、round函数的功能和用法。
6.已知
求下列表达式的值:
●A+6*B和A-B+I(其中I为单位矩阵)
●A*B和A.*B
●A^3和A.^3
●A/B及B\A
●[A,B]和[A([1,3],:
);B^2]
7.设有矩阵A和B
(1)求它们的乘积C;
(2)将矩阵C的右下角3*2子矩阵赋给D;
(3)察看MATLAB工作空间的使用情况。
8.完成下列操作:
(1)求[100,999]之间能被21整除的数的个数。
提示:
先利用冒号表达式,再利用find和length函数。
(2)建立一个字符串向量,删除其中的大写字母。
提示:
利用find函数和空矩阵
实验二MATLAB的基本计算
一、实验目的
1.掌握建立矩阵的方法。
2.掌握MATLAB各种表达式的书写规则以及常用函数的使用。
3.能用MATLAB进行基本的数组、矩阵及符号运算。
4.掌握矩阵分析的方法以及能用矩阵求逆法解线性方程组。
二、实验设备及条件
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验内容
1.利用diag等函数产生下列矩阵。
2.利用reshape函数将1题中的a和b变换成行向量。
3.产生一个均匀分布在(-5,5)之间的随即矩阵(10×2),要求精确到小数点后一位。
4.已知:
求下列表达式的值:
(1)
和
(其中I为单位矩阵)
(2)
和
(3)
和
(4)
和
(5)
和
5.下面是一个线性方程组:
(1)求方程的解。
(2)将方程右边向量元素
改为0.53,再求解,并比较
的变化和解的相对变化。
6.利用randn函数产生均值为0,方差为1的6×6正态分布随机矩阵C,然后统计C中大于-0.3,小于0.3的元素个数t。
7.建立一个矩阵A,找出矩阵中值大于1的元素,并将它们重新排列成行向量B,例如
。
8.读以下程序,解释指令sprintf、fprintf、sscanf的作用?
rand('state',0);
a=rand(2,2);
s1=num2str(a)
s_s=sprintf('%.10e\n',a)
fprintf('%.5g\\',a)
s_sscan=sscanf(s_s,'%f',[3,2])
实验三MATLAB图形系统
一、实验目的
1.掌握绘制二维图形的常用函数。
2.掌握绘制三维图形的常用函数。
3.熟悉利用图形对象进行绘图操作的方法。
4.掌握绘制图形的辅助操作。
二、实验仪器和设备
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验原理
1.二维数据曲线图
(1)绘制单根二维曲线plot(x,y);
(2)绘制多根二维曲线plot(x,y)当x是向量,y是有一维与x同维的矩阵时,则绘制多根不同颜色的曲线。
当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。
(3)含有多个输入参数的plot函数plot(x1,y1,x2,y2,…,xn,yn)
(4)具有两个纵坐标标度的图形plotyy(x1,y1,x2,y2)
2.图形标注与坐标控制
1)title(图形名称);
2)xlabel(x轴说明)
3)ylabel(y轴说明)
4)text(x,y图形说明)
5)legend(图例1,图例2,…)
6)axis([xminxmaxyminymaxzminzmax])
3.图形窗口的分割
subplot(m,n,p)
4.三维曲线
plot3(x1,y1,z1,选项1,x2,y2,选项2,…,xn,yn,zn,选项n)
5.三维曲面
mesh(x,y,z,c)与surf(x,y,z,c)。
一般情况下,x,y,z是维数相同的矩阵。
X,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
6.图像处理
(1)imread和imwrite函数这两个函数分别用于将图象文件读入MATLAB工作空间,以及将图象数据和色图数据一起写入一定格式的图象文件。
(2)image和imagesc函数这两个函数用于图象显示。
为了保证图象的显示效果,一般还应使用colormap函数设置图象色图。
四、预习要求
1.复习二维与三维图形的绘图函数。
2.复习图形辅助操作。
五、实验内容及步骤
1.设
,在x=0~2π区间取101点,绘制函数曲线。
2.已知y1=x2,y2=cos(2x),y3=y1*y2,完成下列操作:
(1)在同一坐标系下用不同的颜色和线型绘制三条曲线;
(2)分别用条形图、阶梯图、杆图和填充图绘制三条曲线。
3.已知
在-5<=x<=5区间绘制函数曲线。
4.绘制函数的曲面图和等高线
其中x的21个值均匀分布在[-5,5]范围,y的31个值均匀分布在[0,10],要求使用subplot(2,1,1)和subplot(2,1,2)将产生的曲面图和登高图画在同一个窗口上。
5.将图形窗口分成两格,分别绘制正割和余割函数曲线,并加上适当的标注。
要求:
1)必须画出0到
,即一个周期的曲线。
2)正割曲线为红色点划线输出,余割曲线为蓝色实线输出。
3)图形上面表明正割和余割公式,横轴标x,纵轴标y。
4)将图形窗口分成两格,正割在上,余割在下。
6.绘制极坐标曲线
,并分析参数
对曲线形状的影响。
7.将图形窗口分成两个窗格,分别绘制出函数:
在[0,3]区间上的曲线,并利用axis调整轴刻度纵坐标刻度,使
在[0,12]区间上,
在[-2,1.5]区间上。
8.画出函数
的曲面及等高线图。
9.综合实例中,还有一种最常用的电力系统无源滤波器单调谐滤波器,其阻抗表达式为:
式中,
为
次谐波角频率,
为基波角频率。
当设
,
,
,
,
在[0.5,25]取值时,单调谐滤波器的阻抗
与谐波次数
的曲线如图3-4所示,试编写程序完成曲线的画取(注意图中各个地方的标注均用程序实现)。
10.用曲面图表现函数
和
的范围从-4到4,设置当前图形的颜色板从黑色到暗红、洋红、黄色、白色的平滑变化,打开网格。
11.根据
绘制平面曲线,并分析参数
对其形状的影响。
实验四MATLAB程序设计
一、实验目的
1.掌握利用if语句实现选择结构的方法。
2.掌握利用switch语句实现多分支选择结构的方法。
3.掌握利用for语句实现循环结构的方法。
4.掌握利用while语句实现循环结构的方法。
二、实验设备及条件
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验内容
1.编写求解方程
的根的函数(这个方程不一定为一元二次方程,因
的不同取值而定),这里应根据
的不同取值分别处理,有输入参数提示,当
时应提示“为恒不等式!
”。
并输入几组典型值加以检验。
2.输入一个百分制成绩,要求输出成绩等级A+、A、B、C、D、E。
其中100分为A+,90分~99分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:
(1)用switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
3.利用for循环语句编写计算n!
的函数程序,取n分别为-89、0、3、5、10验证其正确性(输入n为负数时输出出错信息)。
4.Fibonacci数组的元素满足Fibonacci规则:
,
;且
。
现要求该数组中第一个大于10000的元素。
5.根据
,求
的近似值。
当n分别取100、1000、10000时,结果是多少?
6.有一分数序列:
编写一段程序,求前16项的和。
7.已知:
求
中:
(1)最大值、最小值、各数之和;
(2)正数、零、负数的个数。
8.建立5×6矩阵,要求输出矩阵第n行元素,当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。
9.根据
,求
的近似值。
当n分别取100,1000,10000时,结果是多少?
实验五MATLAB函数文件
一、实验目的
1.理解函数文件的概念;
2.掌握定义和调用MATLAB函数的方法。
二、实验仪器和设备
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验原理
1.函数文件的定义:
函数文件是另一种形式的m文件,每一个函数文件都定义一个函数,事实上,MATLAB提供的标准函数大部分都是由函数文件定义的。
2.函数文件的基本结构
函数文件由function语句引导,其基本结构为:
Function输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
其中以function开头的一行为引导行,表示该m文件是一个函数文件。
3.函数调用
函数文件编制好之欧,就可以调用函数进行计算了,函数调用的一般格式是:
[输出实参表]=函数名(输入实参表)
四、预习要求
1.复习函数的定义与编写原则。
2.复习函数的调用。
五、实验内容
1.一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。
例如13是绝对素数。
试求所有的两位绝对素数。
要求:
定义一个判断素数的函数文件。
2.已知
(1)当
时,求y值;
(2)当
时,求y值。
实验六MATLAB数据处理与多项式计算
一、实验目的
1.掌握数据统计和分析的方法;
2.掌握数值插值与曲线拟合的方法;
3.掌握多项式计算的常用运算。
二、实验仪器和设备
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验原理
1.数据统计处理
1)最大值与最小值
(a)求向量的最大值与最小值y=max(X)与[y,I]=max(X)
(b)求矩阵的最大值和最小值max(A)与[Y,U]=max(A),max(A,[],dim)
2)求和与求积sum(X),prod(X)sum(A)
3)标准方差与相关系数
a)Y=std(A,flag,dim)
b)corrcoef(X)
2.数据差值
a)一维数据差值Y1=interp1(X,Y,X1,’method’)
b)二维数据差值Z1=interp2(X,Y,Z,X1,Y1,’method’)
3.曲线拟合
[P,S]=polyfit(X,Y,m)
4.多项式计算
1)多项式的加减计算
2)多项式乘法运算Y=conv(P1,P2)
3)多项式除法[Q,r]=deconv(P1,P2)
4)多项式的导函数
p=polyder(P):
求多项式P的导函数
p=polyder(P,Q):
求P.Q的导函数
[p,q]=polyder(P,Q):
求P/Q的导函数,导函数的分子存入p,分母存入q。
5.多项式求值
1)代数多项式求值Y=polyval(P,x)
2)矩阵多项式求值polyvalm
6.多项式求根x=roots(P)
四、预习要求
1.复习MATLAB多项式数值分析函数。
2.复习MATLAB曲线拟合与多项式计算函数。
五、实验内容及步骤
1.利用MATLAB提供的rand函数生成30,000个符合均匀分布的随机数,然后检验随机数的性质:
(1)均值和标准方差;
(2)最大元素与最小元素;
大于0.5的随机数个数占总数额百分比。
2.将100个学生5门功课的成绩存入矩阵P中,进行如下处理:
(1)分别求每门课的最高分、最低分及相应学生序号;
(2)分别求每门课的平均分和标准方差;
(3)5门课总分的最高分、最低分及相应学生序号;
(4)将5门课总分按照从大到小的顺序存入zcj中,相应学生序号存入xsxh。
提示:
上机调试时,为避免输入学生成绩的麻烦,可用取值范围在[45,95]之间的随机矩阵来表示学生成绩。
3.已知lgx在[1,101]区间10个整数采样点的函数值如下表所示:
X
1
11
21
31
41
51
61
71
81
91
101
lgx
0
1.0414
1.3222
1.4914
1.6128
1.7076
1.7853
1.8513
1.9085
1.9590
2.0043
试求lgx的5次拟合多项式p(x),并绘制lgx和p(x)在[1,101]区间的函数。
4.有三个多项式p1(x)=x4+2x3+4x2+5,p2(x)=x+2,p3(x)=x2+2x+3,试进行下列操作:
(1)求P(x)=P1(x)+P2(x)P3(x);
(2)求P(x)的根;
(3)当x取矩阵A的每一元素时,求P(x)的值,其中
(4)当以矩阵A为自变量时,求P(x)的值,其中A的值与(3)题相同。
实验七SIMULINK仿真实验
一、实验目的
1.熟悉SIMULINK的操作环境并掌握绘制系统模型的方法。
2.掌握SIMULINK中子系统模块的建立与封装技术。
3.对简单系统所给出的数学模型能转化为系统仿真模型并进行仿真分析。
二、实验设备及条件
计算机一台(带有MATLAB6.5或以上版本的软件环境)。
三、实验内容
1.建立下图5-1所示的SIMULINK仿真模型并进行仿真,改变Gain模块的增益,观察Scope显示波形的变化。
图5-1正弦波产生及观测模型
2.利用SIMULINK仿真来实现摄氏温度到华氏温度的转化:
(
范围在-10℃~100℃),参考模型为图5-2。
图5-2摄氏温度到华氏温度的转化的参考模型
3.利用SIMULINK仿真下列曲线,取
。
。
仿真参考模型如下图5-3,SineWave5模块参数设置如下图5-4,请仿真其结果。
图5-3
的仿真参考模型图图5-4SineWave5模块参数设置图
4.如图5-5所示是分频器仿真框图,其组成仅有三台设备:
脉冲发生器,分频器和示波器。
分频器送出一个到达脉冲,第一路cnt(计数),它的数值表示在本分频周期记录到多少个脉冲;第二路是hit(到达),就是分频后的脉冲输出,仿真出结果来。
图5-5分频器仿真框图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 控制系统 仿真 实验 指导书