matlab实验指导书.docx
《matlab实验指导书.docx》由会员分享,可在线阅读,更多相关《matlab实验指导书.docx(78页珍藏版)》请在冰豆网上搜索。
matlab实验指导书
《MATLAB计算与仿真》
实验指导书
华南理工大学广州汽车学院电子信息工程系
二0一一年三月
学生实验守则
1学生必须在规定时间内参加实验,不得迟到、早退。
2学生进入实验室后,不准随地吐痰、抽烟和乱抛杂物,保持室内清洁和安静。
3实验前应认真阅读实验指导书,复习有关理论并接受教师提问检查,一切准备工作就绪后,须经指导教师同意后方可动用仪器设备进行实验。
4实验中,认真执行操作规程,注意人身和设备安全。
学生要以科学的态度进行实验,细心观察实验现象、认真记录各种实验数据,不得马虎从事,不得抄袭他人实验数据。
5如仪器发生故障,应立即报告教师进行处理,不得自行拆修。
不得动用和触摸与本次实验无关的仪器与设备。
6凡损坏仪器设备、器皿、工具者,应主动说明原因,书写损坏情况报告,根据具体情节进行处理。
7实验完毕后,将计量器具和被测工件整理好,认真填写实验报告(包
括数据记录、分析与处理,以及绘制必要的图形)。
前言
MATLAB程序设计语言是一种高性能的、用于科学和技术计算的计算机语言。
它是一种集数学计算、分析、可视化、算法开发与发布等于一体的软件平台。
自1984年MathWorks公司推出以来,MATLAB以惊人的速度应用于自动化、汽车、电子、仪器仪表和通讯等领域与行业。
MATLAB有助于我们快速高效地解决问题。
MATLAB相关实验课程的学习能加强学生对MATLAB程序设计语言理解及动手能力的训练,以便深入掌握和领会MATLAB应用技术。
为后续的《电力电子技术》、《自动控制原理》、《电力系统分析》等专业课程提供数值计算和可视化编程工具。
目录
实验一MATLAB概述实训1
实验二MATLAB基本运算实训10
实验三MATLAB图形绘制实训17
实验四MATLAB符号计算实训24
实验五程序设计和M文件实训29
实验六GUI图形用户接口设计实训36
实验七Simulink仿真环境实训45
实验八线性控制系统设计分析实训53
实验一MATLAB概述实训
一、实验目的
1.了解MATLAB语言的基本功能和特点;
2.熟悉MATALB的基本界面。
二、实验仪器、设备
安装MATLAB6.0或以上版本的计算机。
三、实验原理
1.MATLAB的界面
1)MATLAB的主界面
2)MATLAB的的工具栏
3)MATLAB的窗口-命令窗口
打开MATLAB时,命令窗口自动显示于MATLAB界面中。
图中的“>>”是运算提示符,表示MATLAB处于准备状态,用户可以输入命令,按下回车
键执行,并在命令窗口中显示运行结果。
输入程序语言:
按下确定键后,会生成相应图像:
4)MATLAB的窗口-命令历史窗口
默认情况下命令历史窗口位于左下角,显示用户曾经输入过的命令,并显示输入的时间,
方便用户查询。
对于命令历史窗口中的命令,用户可以点击右键进行相应的操作。
用户可以双击再次执行命令窗口中的命令。
5)MATLAB的窗口-工作区窗口
工作区窗口与当前路径窗口共享一块空间,可以通过标签显示或隐藏。
工作区窗口中显示当前工作区中的所有变量及其大小和类型等。
通过工作区可以对这些变量进行管理。
其中包含了工作区工具栏和显示窗口。
通过工具栏可以新建或删除变量、导入导出数据、绘制变量的图形等。
另外右键单击变量名可以对该变量进行操作。
6)MATLAB的窗口-当前路径窗口
当前路径窗口显示当前路径下的所有文件和文件夹及其相关信息,并且可以通过当前路
径工具栏或右键菜单对这些文件进行操作。
2.Matlab的路径搜索
1)路径设置
除MATLAB默认的搜索路径外,用户可以设置搜索路径。
设置方法为:
选择MATLAB
窗口中的File|SetPath命令,进入路径搜索对话框。
路径设置函数
path命令
在命令窗口中输入path命令可以查看MATLAB中的搜索路径:
>>path
MATLABPATH
C:
\MATLAB\R2006a\toolbox\matlab\general
C:
\MATLAB\R2006a\toolbox\matlab\ops
C:
\MATLAB\R2006a\toolbox\matlab\lang
C:
\MATLAB\R2006a\toolbox\matlab\elmat
……
path('newpath')命令改变搜索路径
2)MATLAB的搜索顺序
当在命令窗口中或者一个M文件中输入一个元素名称时,MATLAB按照下面的顺序
搜索该元素的意义,以元素foo为例:
1)查找工作区中是否存在名为foo的变量;
2)在当前路径中查找是否存在名foo.m的文件;
3)按照顺序查找搜索路径中是否存在该文件。
如果存在多个名为foo.m的文件,则调用首先查到的文件。
因此,在为变量和函数命名时,需考虑MATLAB的路径搜索顺序,合理为变量和函数命名,保证程序的正确运行
3.基本规则
1)一般MATLAB命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……)
输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用括号。
2)%后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注释。
3)可用↑、↓键来重现已输入的数据或命令。
用←、→键来移动光标进行修改。
4)所有MATLAB命令都用小写字母。
大写字母和小写字母分别表示不同的变量。
5)常用预定义变量,如pi、Inf、NaN、ans
6)矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用“;”分开。
7)需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
8)当输入语句过长需要换行时,应加上“…”后再回车,则可续行输入。
4.文件管理常用命令
1)帮助(HELP)命令
MATLAB有很多命令,因此很不容易记忆。
使用HELP命令可以得到有关命令的屏幕帮助信息。
如在MATLAB环境下直接运行HELP命令就会在屏幕上给出MATLAB的基本命令以及相关的工具箱软件命令(请自行验证)。
而下面的格式可以得到指定命令的帮助信息,和详细说明。
help命令名
2)save命令
该命令存储定义的变量或演算结果,也可以用来存储指定的变量。
命令格式为:
save文件名[变量名表][-append][-ascii]
3)what命令
该命令可以在当目录下显示MATLAB文件和MAT数据文件
4)dir命令
显示当前目录下的所有文件.
5)clear命令
如果输入calearabc,则表示清除工作空间中指定变量a,b,c;如果仅仅输入clear命令,则清除整个工作空间。
四、实验注意事项
1.实验开始前,应先检查本组电脑设备是否工作正常,matlab软件工作是否正常;
2.实验时每位同学应独立完成实验任务,避免抄袭;
3.实验后及时将实验数据进行记录,避免因电脑故障或其它原因造成实验数据的丢失;
4.实验结束后,将实验记录结果交指导老师查看并认为无误后,方可关掉电脑离开;
5.自觉遵守学校和实验室管理的其它有关规定。
五、实验预习要求
1.实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;
2.复习与实验内容有关的理论知识。
六、实验内容及步骤
1.熟悉MATLAB主界面,工具栏及各窗口;
2.完成MATLAB的路径搜索;
3.完成以下各题,将步骤命令写入实验报告,并在机器上运行结果验证。
1)输入A=[715;256;315],B=[111;222;333],在命令窗口中执行下列表达式,掌握其含义:
A(2,3)A(:
2)A(3,:
)A(:
1:
2:
3)A(:
3).*B(:
2)A(:
3)*B(2,:
)A*BA.*BA^2A.^2B/AB./A
2)输入C=1:
2:
20,则C(i)表示什么?
其中i=1,2,3,…,10;
七、实验报告要求
1.实验目的
2.实验内容
3.实验程序(命令)清单
4.运行结果,保存截屏
5.实验收获与体会
八、思考题
实验二MATLAB基本运算实训
一、实验目的
1.掌握数组的创建方法、掌握数组子数组的寻访和赋值方法;
2.掌握数组的各种运算,理解数组运算和矩阵运算的区别;
3.掌握标准数组的生成方法和相关数组操作函数的使用方法;
4.了解数组关系运算和逻辑运算的含义和应用;
5.掌握字符串在MATLAB中的表达方式和创建方法;了解字符串转换函数和操作函数及其使用方法;
6.掌握使用MATLAB进行多项式曲线拟合和插值、各种不同的运算。
二、实验仪器、设备
安装MATLAB6.0或以上版本的计算机。
三、实验原理
1.向量、矩阵及其运算
1)向量的点乘、叉乘和混合积
①向量的点乘
向量的点乘又称为内积,是两个向量的模和两个向量之间的夹角余弦三者的乘积。
MATLAB中,实现点乘的函数是dot。
dot函数的用法为dot(x1,x2),其中x1和x2的维
数必须相同。
②向量的叉乘
向量乘法除点乘之外还有叉乘。
两个向量叉积的几何意义是指以两个向量模的乘积为
模,方向和两个向量构成右手坐标系的向量。
向量的叉乘不可交换。
在MATLAB中函数cross用于实现向量的叉乘。
③向量的混合积
向量的混合积的几何意义是:
它的绝对值表示以三个向量为楞的平行六面体的体积,符
号由右手法则确定。
上面介绍了向量的点乘和叉乘,向量的混合积由点乘和叉乘逐步实现。
2)矩阵的基本运算
①矩阵与常数之间的四则运算
矩阵与常数的运算与数组运算相同
②矩阵和矩阵之间的四则运算
矩阵和矩阵之间的加减运算与数组运算相同
设A是一个m×n矩阵,B是一个p×q矩阵,当n=p时,两个矩阵可以相乘,乘
积为m×q矩阵。
矩阵乘法不可逆。
在MATLAB中,矩阵乘法由“*”实现。
矩阵除法在实际中主要用于求解线性方程组
③矩阵转置
符号“’”实现矩阵的转置操作。
对于实数矩阵,“’”表示矩阵转置,对于复数矩阵,
“’”实现共轭转置。
对于复数矩阵,如果想要实现非共轭转置,可以使用符号“.’”。
3)稀疏矩阵
一个矩阵中如果包含很多元素值为0,则此矩阵可以只存储少量的非0元素,这个矩阵称为稀疏矩阵(SparseMatrix)。
创建稀疏矩阵,sparse函数的语法格式如下:
sparse(i,j,s,m,n)%直接创建稀疏矩阵;
sparse(p)%由全元素矩阵p转换为稀疏矩阵。
2.数组的创建方法
1)一维数组的创建
要想在MATLAB中创建一个一维数组,用户只需先输入一个左方括号,然后输入每个数值并用逗号(或者空格)隔开,最后用一个右方括号结束。
2)二维数组的创建
创建二维数组与创建一维数组的方式类似。
在创建二维数组时,用逗号或者空格区分同一行的不同元素,用分号或者软回车(Shift+Enter)区分不同行。
3)复数数组的创建
在MATLAB中,空格的功能为分隔数组元素,在其他情况下,MATLAB通常不解析空格。
因此,如果数组中包含复数元素,这些元素中不能间杂空格,如果存在空格则需要用括号扩起来。
4)用其他方式生成数组
等差数组的生成
在MATLAB中,可以利用冒号生成等差数组。
格式为:
数组名=[开始数字:
公差:
结束
数字],公差默认为1。
用数组生成函数生成数组
eye:
生成单位矩阵
linspace:
生成线性分布的向量
rand:
生成随机数组,数组元素值均匀分布
3.数组的寻址与排序
1)数组的寻址
数组中总是包含多个元素,因此在对数组的单个元素或者多个元素进行访问时,需要对数组进行寻址运算。
在MATLAB中,数组寻址是通过对数组下标的访问来实现的。
如果需要访问数组种的多个数据,可以通过下标数组进行
当下标数组为利用冒号表示的等差数组时,可以省略下标数组的中括号
2)数组的排序
在很多时候我们需要对一个给定的数据向量进行排序。
为完成这一操作,MATLAB提
供了sort函数,该函数将任意给定的序列进行排序。
sort函数的调用格式有:
B=sort(A)
B=sort(A,dim)
B=sort(...,mode)
[B,IX]=sort(...)
其中的B为保存结果的数组;A为待排序的数组,当A为多维数组时,用dim指定需要排序的维数(默认为1);mode为排序的方式,可以取值“ascend”和“descend”,分别表示升序和降序,默认为升序;IX用于存储排序后的下标数组。
4.数组的运算
数组的数值运算有加减法、乘除法及乘方:
1)数组的加减法
数组加减法为数组元素的加减法,与矩阵加减法相同。
利用运算符“+”和“-”实现该运算。
需要注意的是相加或相减的两个数组必须有相同的维数,或者是数组与数值相加减。
2)数组的乘除法
数组乘除为元素的乘除,通过运算符“.*”和“./”来实现。
运算时需要两个数组有相同的
维数,或者数组与数值相乘除。
注意:
在进行除法操作时,作为分母的数组中不能包含0元素。
3)数组的乘方
数组乘方用符号“.^”实现。
数组乘方运算以三种方式进行。
底为数组,指数为标量的形式。
这种形式的结果是将数组的每个元素进行指数相同的乘方。
返回的结果为与底维数相同的数组,结果数组的每个元素为底中相应元素的乘方。
底为标量,指数为数组的形式。
该形式返回的结果为数组,维数与指数数组相同。
结果数组的每个元素为底以指数数组相应元素为指数做乘方的结果。
底和指数都是数组的形式。
此时两个数组需要有相同的维数。
返回结果为一个数组,维数与前面两个数组相同,每个元素为底数数组和指数数组做乘方的结果
5.创建字符串
字符串由多个字符组成,是1×n的字符数组;每一个字符都是字符数组的一个元素,
以ASCII码的形式存放并区分大小,而显示的形式则是可读的字符。
1)创建字符串
用单引号('')括起字符来直接赋值创建字符串。
MATLAB在存储字符串时,每一个字符以ASCII码的形式存放,占用两个字节。
2)字符串合并
strcat函数用于将字符串水平连接合并成一个新字符串,合并的同时会将字符串尾的空格删除。
语法格式如下:
strcat(s1,s2,…)%将s1,s2…合并成一个长字符串
char(s1,s2,…)%将s1,s2…合并成一个字符数组
strvcat(s1,s2,…)%将s1,s2…合并成一个字符数组
3)字符串与数值的转换
abs将字符串转换为ASCII码数值
str2num将字符串转换为数值
str2double将元胞字符串数组转换为数值
4)字符串的其他操作
MATLAB7.3还可以对字符串进行比较、查找、运行等操作。
6.元胞数组
元胞数组是常规数值数组的扩展,其基本元素是元胞,每一个元胞可以看成是一个单元(Cell),用来存放各种不同类型不同尺寸的数据,如矩阵、多维数组、字符串、元胞数组和结构体。
元胞数组可以是一维、二维或多维,使用花括号({})表示,每一个元胞以下标区分,下标的编码方式也与矩阵相同,分为单下标方式和全下标方式。
1)创建元胞数组
cell函数创建元胞数组的语法格式:
A=cell(m,n)%创建m×n元胞数组
2)元胞数组的操作
①用{}取元胞数组的元素内容
②用()取元胞数组的元素
③用deal函数取多个元胞元素的内容
7.结构体
结构体的基本组成是结构,每一个结构都包含多个字段(Fields),结构体只有划分了字段以后才能使用。
1)创建结构体
①直接创建
直接使用赋值语句创建结构体,用“结构体名.字段名”的格式赋值。
>>ps
(1).name='曲线1';
②利用struct函数创建
struct('field1',值1,'filed2',值2,…)%创建结构体将值赋给各字段
2)获取结构体内部数据
①使用“.”符号获取
②用getfield函数获取
getfield(A,{A_index},'fieldname',{field_index})
③使用fieldnames函数获取结构体的所有字段
fieldnames(array)%获取结构体的所有字段
④使用“[]”合并相同字段的数据
3)结构体的操作函数
①删除结构体的字段
rmfield(A,'fieldname')%删除字段
②修改结构体的数据
setfield(A,{A_index},'fieldname',{field_index},值)
③结构体转换为元胞数组
>>ps=setfield(ps,{1},'color','green');
8.关系及逻辑运算
关系运算允许常量(或矩阵中的元素与元素)之间的比较.如果比较结果为真,则答案为1,否则为0.常用的关系运算符如下:
<小于,>大于,==等于
<=小于等于,>=大于等于,~=不等于
对于复数”==”和”~=”既比较实部也比较虚部,而其它运算仅比较实部。
MATLAB有三个逻辑运算符.
&逻辑与|逻辑或~逻辑非
在矩阵运算中,以上命令是将两个矩阵中的对应元素进行运算,得到的结果是具有同样元素的矩阵。
9.多项式的运算
1)多项式求根
使用roots函数来计算多项式的根,多项式的根以列向量的形式表示;反过来,也可以根据多项式的根使用poly函数获得多项式。
2)多项式求值
函数polyval和polyvalm可以用来计算多项式在给定变量时的值。
3)多项式的乘法和除法
多项式的乘法和除法运算分别使用函数conv和deconv来实现。
p=conv(pl,p2)%计算多项式p1和p2的乘积
[q,r]=deconv(pl,p2)%计算多项式p1与p2的商
4)多项式的微积分
使用polyder函数来计算多项式的微分:
polyder(p)%计算p的导数
polyder(a,b)%计算a和b乘积的导数
[q,d]=polyder(b,a)%计算a和b商的导数
MATLAB没有专门的多项式积分函数,但可以通过以下的公式计算完成积分:
[p./(length(p):
-1:
1),k]%计算多项式p的积分
5)多项式的拟合与插值
拟合函数
p=polyfit(x,y,n)%由x和y得出多项式p
说明:
x、y向量分别为数据点的横、纵坐标;n是拟合的多项式阶次;p为拟合的多项式,p是n+1个系数构成的行向量。
一维插值是指对一个自变量的插值,interp1函数用来进行一维插值:
yi=interp1(x,y,xi,'method')
四、实验预习要求
1.实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;
2.复习与实验内容有关的理论知识。
五、实验内容及步骤
1.分别创建一个一维,二维及复数数组;对数组进行寻址、排序和简单的运算
2.对向量和矩阵的作运算
3.创建一个元胞数组,对其进行基本的运算
4.创建一个字符串,对其进行基本的运算
5.创建结构体,获取结构体内部数据,对结构体进行基本的函数操作
6.任选一多项式,对进行多项式求根、求值、微积分、拟合和插值的操作
六、实验报告要求
1.实验目的
2.实验内容
3.实验程序(命令)清单
4.运行结果,保存截屏
5.实验收获与体会
七、思考题
实验三MATLAB图形绘制实训
一、实验目的
1.了解MATLAB的图形窗口
2.掌握MATLAB基本二维图形、三维图形的绘制及图形的基本操作
3.掌握MATLAB特殊图形的绘制,如直方图、饼状图
二、实验仪器、设备
安装MATLAB6.0或以上版本的计算机。
三、实验原理
1.MATLAB的图形窗口
1)图形窗口的创建与控制
figure,创建图形窗口;
figure('PropertyName',PropertyValue,...),按照指定的属性创建图形窗口;
figure(h),如果句柄h对应的窗口已经存在,在该命令使得该图形窗口为当前窗口;
如果不存在,则创建以h为句柄的窗口;
h=figure(...),返回图形窗口的句柄。
在命令窗口中输入命令“figure”,按下回车,生成的图形窗口如图所示。
创建图形窗口后,用户可以对其属性进行编辑。
编辑图形的属性可以通过两种方式进行:
通过属性编辑器
通过set函数
在图形窗口中,选择view菜单中的PorpertyEditor选项,激活属性编辑器,如图所示。
在该窗口中可以设置标题、颜色表等属性。
若要对更多属性进行设置,可以点击More
Properties…,如图所示。
2)图形窗口的菜单栏
①File菜单
File菜单与Windows系统的其他菜单类似,包括“新建”、“保存”、“打开”等命令。
New:
新建。
可以新建M文件(M-File),图形窗口(Figure)、变量(Variable)或图
形用户接口(GUI)。
新建对象时,系统自动打开相应的编辑器。
Open:
打开已有文件。
Close:
关闭当前窗口。
Save:
保存。
SaveAs:
另存为。
GenerateM-File:
生成M文件。
该命令可以将当前图形窗口中的图形自动转化为M文件。
ExportSetup:
导出设置。
可以设置颜色、字体、大小等,可以将图像以多种格式导出,
如emf、bmp、jpg、pdf等
PageSetup:
页面设置。
PrintSetup:
打印设置。
PrintPreview:
打印预览。
Print:
打印。
打开打印对话框。
②Edit菜单
CopyOptions…:
将图形复制到剪切板;
FigureProperties…,点击该选项,弹出窗口如图所示。
在该窗口中可以设置图形的属性,
包括图形窗口的标题、颜色映射表、图形彩色等,另外,点击“MoreProperties…”可以设置
更多属性,点击“ExportSetup…”可以设置图像导出属性。
AxesProperties…,点击该选项弹出窗口如图所示。
在该窗口中可以设置图形坐标系的属性,包括标题、坐标轴标记、范围等。
CurrentObjectProperties…,设置当前对象的属性,即图形中当前选中的对象,包括坐标轴、曲线、图形等。
ColorMap…,用于设置图形的颜色表
③Insert菜单
在图像中插入对象,如箭头、直线、椭圆、长方形、坐标轴等。
Insert中的选项及对应的功能如表所示:
选项
功能
选项
功能
XLabel
插入X轴
Arrow
插入箭头
YLabel
插入