当前位置:文档之家› matlab基本操作与绘图教案

matlab基本操作与绘图教案

实验一MATLAB基本操作和绘图1.1实验目的1.熟悉MATLAB编程环境;2.学习MATLAB的基本使用方法;3.熟悉plot和stem等绘图函数的用法。

1.2实验原理1.2.1MATLAB简介1.1所示。

从版本8开始,MATLAB采用了全新的MATLAB是matrix laboratory 的缩写,是Mathworks公司开发的一款商业软件。

它是一种用于数值计算、算法开发、数据分析和可视化的高级编程语言和编程环境。

除向量和矩阵运算、绘制函数/数据图像等基本功能外,MATLAB也可用来创建图形用户界面(GUI),并可与其他高级语言(如C、C++和FORTRAN等)进行混合编程。

MATLAB附带众多的工具箱(工具箱是特定领域的一些专用函数的集合),涵盖了诸如信号和图像处理、通信、金融建模和分析等各种不同的领域。

除了进行数值计算,MATLAB也提供了一个符号运算工具箱,因此也可进行符号运算。

另外MATLAB带有一个软件包Simulink,提供了可视化开发环境,可用于动态系统模拟仿真和嵌入式系统开发等方面。

经过近30年的发展,MATLAB已广泛用于学术研究和工程开发中。

作为一种以矩阵和向量运算为基础的交互式编程语言,MATLAB特别适用于各种系统的分析和模拟,已成为线性代数、自动控制、数字信号处理、动态系统仿真等的基本工具。

1.2实验原理实验一MATLAB基本操作和绘图MATLAB是一个很容易学习和使用的工具。

通过使用MATLAB,可使我们在做本课程的实验时,将精力集中在学习信号和系统上,而不是在编程上。

下面仅侧重于信号与系统实验中将要使用到的相关功能,对MATLAB作一个简短的介绍。

更详尽的介绍和帮助,可参阅MATLAB的在线帮助和相关书籍。

1.2.2MATLAB的工作环境目前MATLAB的最新版本是2015年3月 5 日推出的R2015a(版本8.5),启动后的用户界面如图1.1所示。

从版本8开始,MATLAB采用了全新的Ribbon用户界面(一种以面板和标签页为主的用户界面,不同于以往以菜单和工具栏为基础的用户界面),使用上更为简便,但图中所示的界面与旧版本的有所不同。

虽然不同版本的用户界面有所不同,但是在编程和使用上还是基本相同的。

图1.1中左边当前文件夹(Current Folder)窗口显示的是当前文件夹中的文件;中间是命令行窗口(Command Window),在“>>”提示符后输入命令,MATLAB便会执行相应的操作;右上工作区(Workspace)窗口显示的是MATLAB命令和程序生成的变量名及其数值;右下是Command History窗口显示输入命令的历史记录。

所有这些窗口都可改变大小、浮动、关闭及重新打开。

图1.1MATLAB R2013a的操作界面如图1.1所示,在命令行窗口中输入一条命令(或称为一条语句),按Enter键,该命令会被立即执行并显示结果,如果希望命令行窗口不显示结果,只需在命令后面添加分号“;”。

实验一MATLAB基本操作和绘图 1.2实验原理如果需要执行多个命令构成的程序(或称为脚本script)并将其保存为文件,则需要用到文本编辑器。

点击工具栏的“New script”图标,或在“File”菜单下选择“New Script”,将打开如图1.2所示的MATLAB的编辑器,显示一个空白的文档,编辑并保存该文档即可执行脚本。

通过编辑器的菜单项和工具栏也可以执行和调试程序。

MATLAB编辑器建立的文件的扩展名默认为.m。

图1.2MATLAB的编辑/调试器如要新建一个可被其他程序调用的函数,可在“File”菜单下选择“New Function”,编辑器将生成如下所示自定义函数的框架:function[output_args]=untitled(input_args)2%UNTITLED5Summary of this function goes here%Detailed explanation goes here46end其中第一行是函数声明行,function是MATLAB关键字,input_args是输入变量,output_args是输出变量,函数必须以end结尾。

将其保存为.m文件,即可在其他程序中以文件名(注意不是函数名,文件名和函数名可以不同)调用该函数。

在命令行窗口中,还可以输入若干文件管理功能的命令,如“cd”或“chdir”可以改变当前工作文件夹,“dir”、“mkdir”和“rmdir”可分别显示、新建和删除文件夹,“delete”可用来删除文件等。

如果要新建或打开某个.m文件,也可以在命令窗口输入“edit test.m或“open test.m”(其中.m可省略)来打开编辑器,MATLAB将在当前文件夹和搜索路径中搜索test.m,若找到test.m则将打开该文1.2实验原理实验一MATLAB基本操作和绘图件,反之则会提示是否创建新文件。

如果要运行test.m,只需在命令行窗口直接输入test即可。

如果test.m是存放于当前文件夹或搜索路径的函数文件,则可以直接在命令行窗口或其他程序中调用。

MATLAB提供了很多演示程序供使用者参考学习。

在命令行窗口中输入“demo”,将出现一系列的演示,为使用者提供了一个很好的学习的辅助手段。

同时,MATLAB 提供了详尽的在线帮助系统,在命令窗口中输入“help函数名”可显示函数的摘要和详细的解释,而输入“doc函数名”可打开相关的联机帮助,其中不仅有函数的解释,还有函数使用的实例供使用者参考。

1.2.3当前文件夹和搜索路径MATLAB及其工具箱提供的函数往往以.m文件的形式安装在MATLAB的各个子文件夹中,另外用户自定义的函数和脚本文件也不一定存放于当前文件夹中,因此通常在使用调用或执行这些文件之前需要确认或设置.m文件的搜索路径,告诉MATLAB在哪里搜索.m文件。

这一步骤可通过“File”菜单下选择“Set Path…”实现,如图1.3。

图1.3Set Path对话框如果在命令窗口输入字符串test,MATLAB将试图按照以下的顺序去解释和执行它:(1)搜索test是否是已定义的变量;(2)搜索test是否是MATLAB内置的固有函数;(3)在当前文件夹中搜索是否有test.m文件;(4)在“Set Path”给定的所有文件夹中搜索是否有test.m文件。

实验一MATLAB基本操作和绘图 1.2实验原理1.2.4变量和.m文件的命名规则在MATLAB中变量和.m文件有相同的命名规则:区分大小写,第一个字符必须为英文字符(不能为数字开头),不能超过31个字符,其他字符可以为英文字符、数字和下划线_,除此之外不能包含其他字符。

变量和.m文件的名字不能重名。

同时应尽量避免和MATLAB预定义的变量(如pi,eps,ans,Inf,虚数单位i或j等)以及函数(如sin,cos,exp,log等)重名,否则可能会导致预期之外的结果。

1.2.5基本运算和函数使用MATLAB最大的好处是以往复杂的数学运算和编程可变得相对简单。

它缺省的数据格式为双精度浮点数的矩阵或数组,并且可以直接处理复数,同时会自动管理执行过程中变量使用内存的分配和回收,不需要额外的处理和编程,因此给各种数学运算,特别是向量与矩阵的运算带来极大的方便。

例如要计算一个表达式的值,只需在提示符后直接输入,按回车键即可:>>5*sin(pi/6)*exp(-1+i)ans=0.4969+0.7739iMATLAB会自动将计算结果赋给变量ans并立即显示计算结果。

当然,也可将结果赋予任意一变量。

若希望MATLAB不立即显示结果,只需在命令后加分号(;)即可。

例如>>y=5*sin(pi/6)*exp(-1+i);>>z=real(y)%显示结果的实部z=0.4969MATLAB的数学计算是基于向量和矩阵运算的,这给编程带来了极大的方便。

例如以下的语句可直接定义向量并对其进行计算:>>x=[2357];%定义行向量x>>y=2*x+1%定义行向量yy=5711151.2实验原理实验一MATLAB基本操作和绘图MATLAB会忽略所有百分比符号(%)之后的文字,即%之后的文字为注释。

可以方便地更改、增加或删除向量的元素,如>>y(3)=y(3)-5%更改第3个元素y=57615>>y(7)=y(3)%加入第7个元素y=57615006>>y(4:6)=[]%删除第4个至第6个元素y=5766>>y(3:5)=[123]%给第3个至第5个元素重新赋值y=57123>>z=y'%行向量y转置,得到列向量zz=57123输入矩阵只需在每一列结尾加上分号(;),如:>>A=[1234;5678;9101112]A=123456789101112同样地,我们可以对矩阵进行各种处理:>>A(2,2:3)=[00]A=12345008实验一MATLAB基本操作和绘图 1.2实验原理9101112>>B=A'B=159201030114812>>A=[A B(2:4,[])]A=123450089101112>>A=[A B(2:4,1:3)]A=123420105008301191011124812表1.1列出了常用的运算和函数。

MATLAB提供了丰富内置函数,且这些函数的输入变量通常可以是向量、矩阵或数组,例如>>sin([0pi/3pi/6pi/2])ans=00.86600.5000 1.0000这些运算和函数的功能和使用方法可查阅MATLAB的联机帮助,或相关的参考书。

1.2.6MATLAB流程控制语句和其他高级编程语言类似,MATLAB提供了流程控制语句,用于控制程序执行的流程,其中比较常用的有:if/elseif/else,switch/case/otherwise,while,for,end,break,continue,return等等。

这里仅列举其中几条的语法,具体的用法可在以后的实验中学习,或参考MATLAB的在线文档。

1.if/elseif/else语句的语法:1.2实验原理实验一MATLAB基本操作和绘图表1.1MATLAB常用的运算符号及函数三角函数和双曲函数sin正弦cos余弦tan正切cot余切asin反正弦acos反余弦ctan反正切acot反余切sec正割csc余割asec反正割acsc反余割sinh双曲正弦cosh双曲余弦tanh双曲正切both双曲余切asinh反双曲正弦acosh反双曲余弦atanh反双曲正切acoth反双曲余切sech双曲正割csch双曲余割asech反双曲正割acsch反双曲余割指数函数exp e的幂log自然对数sqrt平方根pow22的幂log2底为2对数log10底为10对数复数函数abs幅值angle相角conj共轭real实部imag虚部取整和求余函数ceil向+∞取整 loor向−∞取整 ix向0取整round向最近整数取整rem求余数mod模除求余向量和矩阵运算和变换函数+加-减*矩阵相乘/右除\左除.*矩阵点乘'转置^幂.^点幂min最小值max最大值mean平均值median中值std标准差sort排序length向量长度dot内积(标量积)corss外积(矢量积)size矩阵大小reshape改变矩阵大小 liplr矩阵左右翻转diag对角矩阵rot90矩阵旋转90◦ lipud矩阵上下翻转关系运算符<小于<=小于等于==等于>大于>=大于等于~=不等于逻辑运算&与|或~非if expressionstatementselseif expressionstatementselsestatementsend实验一MATLAB基本操作和绘图 1.2实验原理2.switch/case/otherwise语句的语法:switch switch_expression%switch_expression为标量或字符串case case_expressionstatementscase case_expressionstatements:otherwisestatementsend3.while语句的语法:while expressionstatementsend4.for语句的语法:for index=initval:step:endvalstatementsend1.2.7MATLAB的绘图函数MATLAM提供了丰富的绘图函数可将数据绘制成各种图形,如曲线、直方图、极坐标图、等位线图、向量场图等。

相关主题