MATLAB课件.ppt
- 文档编号:18748149
- 上传时间:2023-10-27
- 格式:PPT
- 页数:436
- 大小:4.61MB
MATLAB课件.ppt
《MATLAB课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB课件.ppt(436页珍藏版)》请在冰点文库上搜索。
封面,2014,目录,前言第1章MATLAB概述第2章MATLAB基本语法第3章MATLAB基本绘图第4章MATLAB数值计算第5章MATLAB基本程序设计第6章MATLAB图形用户界面设计第7章MATLAB符号数学工具箱第8章Simulink仿真第9章MATLAB在信号与系统中的应用第10章MATLAB在数字信号处理中的应用,前言,
(一)为什么开设本课程,由于MATLAB的独特优势,开设本课程:
2、简单易用的程序语言,3、强大的科学计算及数据处理能力,4、出色的图形处理功能,1、友好的工作平台和编程环境,5、工程师必备的工具,前言,
(二)课程特点,1、是一门计算机语言课,2、是一门实践性很强的课,3、是一门选修课,前言,(三)课程内容,1、MATLAB概述,2、MATLAB基本语法,4、MATLAB数值计算,3、MATLAB基本绘图,5、MATLAB基本程序设计,7、MATLAB工具箱(符号数学),8、Simulink与MATLAB应用,6、MATLAB图形用户界面设计,前言,(五)要求,勤学习、勤实践。
多沟通、共提高。
(四)课时安排,总40学时=22学时授课+18学时实验,第1章MATLAB概述,MATLAB简介MATLAB的特点MATLAB的组成MATLAB的工作环境MATLAB的通用命令,主要内容,1.1MATLAB简介-发展,1970年代中期,CleveMoler博士开发了:
EISPACK(特征值求解的程序库)LINPACK(解线性方程的程序库),1970年代后期,CleveMoler编写接口程序:
MATLAB,即MATrix和LABoratory前3个字母的组合,是“矩阵实验室”的缩写,它是一种以矩阵运算为基础的交互式程序语言。
1983年春,CleveMoler和JohnLittle用C语言开发了第二代专业版,84年,两人成立了Mathworks公司,正式把MATLAB推向市场。
1.1MATLAB简介-发展,1988年,推出MATLAB3.x版本(DOS版)。
1993年,推出MATLAB4.0版本(Win3.x)。
1997年,推出MATLAB5.0版(Windows95)。
1999年,推出MATLAB5.3版本R11(流行较广)。
2000年,推出MATLAB6.0版本R12(Win98/Win2000),2001年,推出MATLAB6.1(克服6.0不支持P4,Winme,汉字等)。
2002年,推出MATLAB6.5R13(速度更快、性能更优越等)。
2004年,推出MATLAB7版本R14,1.1MATLAB简介-特点,1、运算功能强大,2、人机界面友好,编程效率高,3、强大而简易的作图功能,4、强劲的工具箱,5、动态仿真功能,是一个强大的功能演算性草稿纸,难点:
函数较多,仅基本部分就有700多个。
1.1MATLAB简介-组成,MATLAB软件由四部分组成:
1、基本部分(核心):
程序主体和基本函数(约700多个)。
2、专业扩展部分(工具箱):
有30多个工具箱,由大量专业函数组成(上千个函数)。
3、符号数学工具箱:
基于Maple软件的符号数学引擎。
4、仿真工具箱(Simulink):
用于建立系统的数学模型和仿真分析等。
1.2MATLAB的工作环境,MATLAB的启动方法一:
点击快捷方式图标方法二:
点击文件matlab.exeMATLAB的退出在MATLAB的命令窗口输入“exit”命令;在MATLAB的命令窗口输入“quit”命令;直接单击MATLAB命令窗口的按钮。
界面简介,1.2MATLAB工作环境-界面,菜单(Menu),命令窗口,历史命令窗口,工作区窗口和当前目录窗口,当前路径,1.2MATLAB工作环境-界面,命令窗口(commandwindow)历史命令窗口(commandhistory)当前目录窗口(currentdirectory)工作区窗口(workspace)已安装部件窗口(launchpad),1菜单和工具栏,默认情况下的菜单和工具栏:
【File】菜单主要用于对文件的处理。
【Edit】菜单主要用于复制、粘贴等操作,与一般Windows程序的类似,在此不作详细介绍。
【Debug】菜单用于调试程序。
【Desktop】菜单用于设置主窗口中需要打开的窗口。
【Window】菜单列出当前所有打开的窗口。
【Help】菜单用于选择打开不同的帮助系统。
2.通用窗口,MATLAB工作界面中的常用窗口包括命令窗口历史命令窗口当前工作目录窗口工作空间浏览器窗口变量编辑窗口M文件编辑调试窗口所有窗口都可以单独显示,使用Undock和Dock可使窗口单独出来和返回到MATLAB工作界面中。
1.2.1命令窗口(CommandWindow),MATLAB提供给用户使用的管理功能的人机界面,在命令窗口中输入MATLAB的命令和数据后按回车键,立即执行运算并显示结果。
说明:
命令窗口中的“”为命令提示符,表示MATLAB处于准备状态。
当在提示符后输入一段程序或一段运算式后【Enter】键,MATLAB会给出计算结果,并再次进入准备状态(所得结果将被保存在工作空间窗口中)。
在命令窗口内执行的MATLAB主要操作有:
运行函数和输入变量;控制输入和输出;执行程序,包括M文件和外部程序。
命令窗口中可直接运行MATLAB函数,而这些函数往往又和MATLAB命令直接联系。
MATLAB在命令窗口中的语句形式为:
变量表达式;,运行函数和键入变量,在命令窗口的提示符“”下,可以直接输入变量。
例:
计算A=256/41002128A=256/4-100*2+128%从键盘输入,并单击回车键A=%屏幕显示的结果-8MATLAB语法规定,百分号“%”后面的语句为注释语句。
例在命令窗口中输入不同的命令和数值,并查看其显示方式。
a=0.5a=0.5000b=sinb=sinifa1c=true%如果a1则c为trueendc=1,1.2.2历史命令(CommandHistory),历史命令窗口用来记录并显示已经运行过的命令、函数和表达式。
在默认设置下,该窗口会显示自安装以来所有使用过命令的历史记录,并标明每次开启MATLAB的时间。
1.2.3当前目录(CurrentDirectory),当前目录窗口中显示了MATLAB当前工作目录下的所有文件夹与文件,以便用户对当前目录下的文件进行管理。
查看工作目录下文件的相关信息的常用命令,what:
列出当前目录下的M、MAT、MEX文件清单。
dir:
显示当前目录或指定当前目录下的文件。
cd路径:
改变或显示当前工作目录;路径可省略,省略时为显示当前工作目录;cd.表示回到上一级目录。
type:
显示文件内容。
delete:
删除文件。
which文件名:
指出M文件、MEX文件、工作空间变量、内置函数或Simulink模型所在的目录。
1.2.4工作空间(Workplace),MATLAB在进行运算时,将变量存储在内存中,这些存储变量的内存空间称为基本工作空间,简称工作空间。
工作空间窗口以列表形式显示了MATLAB工作区中当前所有变量的名称及其属性。
不同的变量类型使用不同的图标。
内存变量查阅、删除的指令操作法,在指令窗中运用who,whos查阅MATLAB内存变量。
who命令:
查看现存于基本空间的变量whos命令:
详细查看现存于基本空间的变量在指令窗中运用clear指令可以删除内存(工作空间内)的某一或所有变量如:
clearA,clearall,1.2.5数组编辑器窗口(ArrayEditor),启动数组编辑器窗口的方法有:
在工作空间窗口中双击该变量;在工作空间窗口中选择变量,按鼠标右键在快捷菜单中选择“Open”菜单;,1.2.6文件编辑/调试(Editor/debugger),MATLAB通过自带的M文件编辑/调试器来创建和编辑M文件。
进入MATLAB文件编辑器的方法如下:
命令窗口直接键入命令:
edit,打开编辑器编辑Untitled.m文件。
使用命令窗口中的菜单或工具条上的快捷工具按钮。
M文件编辑/调试器窗口是标准的windows风格。
编辑M文件可用其它任何文本编辑器进行。
1.3MATLAB命令窗口的主要操作,命令窗口显示方式的操作数值计算结果的显示格式指令行中的标点符号命令窗口中指令行的编辑命令窗口的通用命令,命令窗口显示方式的操作,一缺省显示方式对窗口内的字符数码分类采用不同的颜色。
二显示方式的设置对命令窗口的字体风格、大小、颜色和数值计算结果格式进行设置。
MATLAB数据格式与显示形式,MATLAB既可用传统的十进制数表达数值,也可以用科学计数表达数值,用e代表10的指数形式,用i和j来代表虚数。
MATLAB内部数据格式只有一种,是IEEE浮点标准的双精度二进制(64位)为了人机交互的友好性,数据输出显示格式有8种。
可用菜单选项或format命令选择。
注:
数值的显示精度并不代表数值的存储精度。
数值计算结果的显示格式:
在参数设置对话框的“NumericFormat”栏设置数据的显示格式。
另一种方法是直接在命令窗口中使用“format”命令来进行数值显示格式的设置。
format格式描述,数值计算结果的显示格式表中实现的所有格式设置仅在MATLAB的当前执行过程中有效,例使用format函数在命令窗口中显示运算结果。
a=sin(60*pi/180)a=0.8660formatlongaa=0.86602540378444formatshorteaa=8.6603e-001程序分析:
long格式为15位数字显示,shorte为5位科学计数显示。
常见标点符号的作用,半角逗号“,”和半角分号“;”都可以用来分隔MATLAB的指令(函数)或变量。
MATLAB允许一行内出现多条指令。
MATLAB的指令(函数)后使用半角分号“;”,它的作用是用来避免在命令窗口显示程序运行的中间结果。
注:
可以使用shift+Enter(或shift+Return),表示要输入多行命令后再运行,待最后一行命令输入完毕,再回车,MATLAB才开始运行上述诸条命令。
常见标点符号的作用,对于较长的命令行,可用符号“”来表示换行继续写入。
冒号(一个重要的操作符)的作用:
用于生成默认间隔为1的等间隔向量;用于选出矩阵指定行、列及元素;用于循环语句。
指令行中的标点符号,例:
a=10*2;b=a+5,c=a*b;d=c+a,A=123;456;789B=1,234,5,6789C=1;2;3,命令窗口中指令行的编辑,为方便操作,MATLAB允许用户对已经输入的指令进行回调、编辑和重运行。
命令窗口的常用控制指令,1.4MATLAB7.3的其他管理,MATLAB文件格式MATLAB7.3的常用文件有.m、.mat、.fig、.mdl、.mex、.p等类型。
设置搜索路径用户自己书写的函数有可能并没有保存在搜索路径下。
要解决这个问题,只需把程序所在的目录扩展成MATLAB的搜索路径即可。
MATLAB文件格式,程序文件程序文件即M文件(M-File),其文件的扩展名为.m。
图形文件图形文件(Figure)的扩展名为.fig。
模型文件模型文件(Model)扩展名为.mdl,可以在“File”菜单中创建Model时生成.mdl文件。
数据文件数据文件即MAT文件,其文件的扩展名为.mat。
MATLAB文件格式,可执行文件可执行文件即MEX文件,其文件的扩展名为.mex。
项目文件项目文件的扩展名为.prj。
P码文件P码文件即伪代码文件,是M文件被调用后在内存中生成的内部伪代码。
设置搜索路径,在MATLAB内存中进行检查,检查“sin”和“x”是否为工作空间的变量或特殊变量;检查“sin”和“x”是否为MATLAB的内部函数;在当前目录上,检查是否有相应的“.m”或“.mex”文件存在;在MATLAB搜索路径的所有其他目录中,依次检查是否有相应的“.m”或“.mex”的文件存在;如果都不是,则MATLAB发出错误信息。
1.MATLAB的基本搜索过程,2.设置搜索路径窗口(SetPath),打开设置搜索路径窗口的方法:
在MATLAB界面选择菜单“File”“SetPath”;在命令窗口中运行“pathtool”或“editpath”命令。
3.设置搜索路径的常用命令,path命令path(path,新目录)addpath命令addpath目录1目录2参数,例使用命令设置搜索路径addpathc:
TEMP-beginpath(path,c:
TEMP)p=path,附:
在命令窗口中输入path或genpath可得到MATLAB的所有搜索路径,,1.5MATLAB的帮助系统,1使用帮助浏览器2使用帮助命令3联机演示,使用帮助浏览器,帮助主题(Contents)、索引(Index)、搜索(Search)和演示(Demos)四个面板来查找帮助信息:
Contents面板为可展开的树形结构,向用户提供全方位系统帮助的向导图;Index面板是MATLAB提供的术语索引表,可以查找命令、函数和专用术语等。
Search面板是通过关键词来查找全文中与之匹配的章节条目,Index只在专用术语表中查找而Search的搜索是在整个HTML文件中进行的,因此其覆盖面更宽。
Demos面板为MATLAB提供了Demo演示。
使用帮助命令,1、help(帮助),help(显示已安装的函数库和工具箱),help子目录名/库名/工具箱如:
helpgeneralorelfun显示基本函数信息helpcomm,help函数名显示具体函数的帮助信息如:
helpsin,注意:
命令窗口显示的MATLAB帮助信息中,是用大写字母来突出函数名的,但在使用这些函数时,应该用小写字母。
使用帮助命令,lookfor关键字(查找)lookfor命令是在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。
如:
lookforsound打开帮助窗口命令:
helpwin:
打开帮助窗口helpdesk:
打开帮助桌面demo:
打开演示窗口,3联机演示系统,可以通过以下方式打开联机演示系统。
选择MATLAB主窗口菜单的【Help】|Demos】选项;在命令窗口输入demos;直接在帮助页面上选择Demos页。
内容回顾,1、介绍了本课程的特点内容和安排2、MATLAB的发展、特点和组成3、MATLAB操作界面4、MATLAB的搜索路径扩展5、MATLAB的帮助系统,第2章MATLAB基本语法,变量矩阵的赋值矩阵的初等运算矩阵的基本运算函数矩阵的逻辑运算,主要内容,2.1变量,1、标识符:
表示变量名,常量名,函数名和文件名的字符串,
(1)由字母、数字、下划线等符号组成,第一个字母必须是英文字母。
(2)变量和常量最长不要超过19个字符,多余截取。
(3)函数和文件名通常不超过8个字符。
(4)变量名大小写敏感。
2.1变量,(5)MATLAB中的特殊变量名,应避免使用。
例如:
ans-默认临时变量pi-eps-计算机中的最小数inf-无穷大NaN-非数或不定数(如:
0/0)i或j-虚数单位,2.1变量,2、变量类型:
(1)数值:
内部只有一种类型为双精度(8个字节,64位),实数为1个双精度数,复数为两个双精度数。
但输出显示格式有8种。
可用format命令来改变显示格式。
例如:
formatshort显示5位数(pi:
3.1416)formatlong显示15位数(pi:
3.14159265358979)formatbank显示货币格式(pi:
3.14),2.1变量,数字显示的8种格式,2.1变量,2、变量类型:
(2)字符(串):
用单引号表示。
如:
a=abc实际上是一个单个字符的ASCII码组成的行向量。
2.1变量,3、矩阵,MATLAB中的变量或常量都代表一个矩阵,所有的变量运算其实都是矩阵运算。
单个值实际上是1*1阶矩阵。
矩阵元素可以是数值(实数或复数)或字符串。
一个由矩阵表示的变量可以是一个数、一组数、一个文件(如语音)、一幅图象等。
2.1变量,3、矩阵,矩阵(Matrix)与数组(Array)的关系:
矩阵运算有着严格理论数组运算一般指元素运算,2.1变量,4、变量的查看:
who/whos,5、变量的保存和恢复:
save文件名(缺省后缀为.mat)例如:
savemyvarload文件名例如:
loadmyvar,2.2矩阵的赋值,1、矩阵的直接赋值,
(1)基本赋值1)使用2)同一行元素用空格或,隔开3)不同行用;隔开例如:
a=123;456,
(2)复数的赋值:
例如:
z=1+2i或1+2jz=1+2i3+4iz=13+24*i,2.2矩阵的赋值,注意:
赋值结尾为“;”则不显示结果。
一行不够时,可用“”换行。
矩阵的阶数也可通过下列函数获得:
对于一维,m=length(a)为矩阵a的长度。
例如:
a=123length(a)为3,2.2矩阵的赋值,注意:
矩阵的阶数也可通过下列函数获得:
对于二维,m,n=size(a),m为行数,n为列数例如:
a=123;456size(a)为23,2.2矩阵的赋值,2、矩阵元素的赋值,
(1)元素用(m,n)的形式表示第m行n列的元素值,可直接引用和赋值。
例如,a(2,1)=4,若将其改为9,则可用a(2,1)=9。
注意:
如果元素下标超出原矩阵的维数,矩阵将自动扩大,多出的元素自动为0。
2.2矩阵的赋值,2、矩阵元素的赋值,
(2)给全行或全列赋值:
用“:
”代替行或列。
如:
a(4,:
)=11121314b(:
5)=5;8;10;12注意:
行数或列数必须与原矩阵相同。
2.2矩阵的赋值,3、矩阵的变换,
(1)抽取:
由原矩阵中的部分元素构成新矩阵。
如:
b=a(2,4,1,3)表示第2,4行与第1、3列交叉元素组成新矩阵。
2.2矩阵的赋值,3、矩阵的变换,
(2)抽去:
使用空矩阵(无元素),将矩阵整行/列删除。
如:
a(2,4,:
)=将2、4行删除a(:
2)=将第2列删除,2.2矩阵的赋值,3、矩阵的变换,(3)组合:
由多个矩阵组成一个新矩阵,但行列应正好。
如:
a=123;456;b=789;101112;c=ab;d=a;b;,(4)转置:
b=a(行变列)例如:
a=123;456,则a=14;25;36,2.2矩阵的赋值,(5)排列:
b=a(:
)将所有列排成一列。
例如:
a=123;456;a(:
)=1;4;2;5;3;6;若先转置再排列,即实现按行排列。
(6)变换函数:
fliplr(a)(矩阵左右翻转)(flip翻leftright)flipud(a)(矩阵上下翻转),3、矩阵的变换,2.2矩阵的赋值,4、间隔赋值(适合批量数据),
(1)变量=(first:
increment:
last)形式如:
t=(0:
0.1:
1)则t=0,0.1,0.2,1,
(2)线性间隔函数linspace(first,last,num)从first开始到last结束共num个元素,间隔为(last-first)/(num-1)如:
t=linspace(0,1,11),t=0,0.1,1,2.2矩阵的赋值,4、间隔赋值(适合批量数据),(3)对数间隔函数logspace(first,last,num)从10first开始到10last结束共num个元素如:
t=logspace(0,1,11),t=100,100.1,101,2.2矩阵的赋值,5、基本矩阵,
(1)空阵:
(当操作无结果时,返回空阵),
(2)全0矩阵:
zeros(m,n)例如:
zeros(2,3)=000;000,(3)全1矩阵:
ones(m,n),(4)单位矩阵:
eye(n)(对角线为1的方阵),(4)随机矩阵:
rand(m,n),2.2矩阵的赋值,6、文件赋值,
(1)波形文件(.wav):
即音频文件读波形文件:
a=wavread(文件名),如:
a=wavread(morse.wav)写波形文件:
wavwrite(a,文件名),波形文件播放:
用wavplay或sound,如:
wavplay(a);,2.2矩阵的赋值,6、文件赋值,
(2)图象文件(.BMP/JPG等)读图象文件:
a=imread(文件名),如:
b=imread(sz.jpg)写图象文件:
imwrite(b,文件名)显示图象文件:
image(a),2.3矩阵的初等运算,1、加减法:
矩阵的加减就是对应元素的加减。
如:
a=123;b=456,则a+b=578,如果矩阵与一常数(标量)相加减,则把该常数看成是同阶的矩阵。
例如:
a+5=678,2.3矩阵的初等运算,2、乘法,
(1)矩阵相乘:
mp阶矩阵A与pn阶矩阵B的乘积是一个m*n阶矩阵。
例如:
a=123;b=456则:
a*b=20.,
(2)矩阵与常数相乘等于每个元素乘以该常数,例:
2*a。
2.3矩阵的初等运算,2、乘法,(3)矩阵元素相乘(数组相乘):
使用“.*”相乘的两个矩阵阶数应相同。
例如:
a=123;b=456则:
a.*b=41018,2.3矩阵的初等运算,3、除法,
(1)矩阵的除法,右除,“/”:
A/B=A*B-1(B的逆矩阵inv(B),B必须是方阵,A与B列应相等。
左除,“”:
AB=A-1*B,A必须是方阵,A与B行应相等。
(2)矩阵除以常数,等于每个元素除以常数,使用普通除法/。
2.3矩阵的初等运算,3、除法,(3)矩阵元素的除法(数组相除):
“./”:
A./B为A各元素除以B中各元素。
“.”:
A.B=B./A,2.3矩阵的初等运算,4、乘方,
(1)矩阵乘方:
(乘方是乘法的扩充,为保证合法性,要求矩阵为方阵),A标量:
例A2,A0.2,
(2)元素的乘方:
a)A.标量:
例A=12,A.2=14,2.3矩阵的初等运算,4、乘方,b)标量.A:
例3.A=39,c)A.B:
A、B同阶例A=12,B=34,则A.B=116,2.4矩阵的基本运算函数,1、矩阵的运算函数(见附录A),指数函数:
expm()%变量必须是方阵对数函数:
logm()%变量必须是方阵开方函数:
sqrtm()%变量必须是方阵,三角函数(25个):
例如:
t=123,y=sin(t),指数/对数函数(7个):
例如:
exp(),复数函数(8个):
例如:
abs()取模,取整函数(7个):
例:
round()四舍五入,2.4矩阵的基本运算函数,2、矩阵元素的运算(基本函数库elfun),1、关系运算:
共6种:
(大于)(小于)=(大于等于)=(小于等于)=(等于)=(不等于),比较是在元素间进行的。
矩阵必须同阶,比较结果仍为矩阵,且元素值为0(假)或1(真),例如:
a=12,b=21,则ab结果为01,a=b结果为00,2.5矩阵的逻辑运算,2、逻辑运算:
共有四种运算符号:
&(与)、|(或)、(非)、xor(异或),矩阵元素值必须为逻辑值(0、1),运算是在元素间进行的。
比较结果仍为矩阵,例如:
a=10,b=01,则:
a&b=00xor(a,b)=11,2.5矩阵的逻辑运算,3、逻辑函数:
(运算符库ops)例如:
exist(a)-检查变量是否有定义,返回1表示有0表示无,all(a)-检查矩阵中元素是否全为非0,1是0否,内容回顾,MATLAB基本语法:
1、变量2、矩阵的赋值3、矩阵的初等运算4、矩阵的基本运算函数5、矩阵的逻辑运算,第3章MATLAB基本绘图,),基本二维绘图特殊二维绘图基本三维绘图特殊三维绘图,主要内容,3.1基本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 课件
![提示](https://static.bingdoc.com/images/bang_tan.gif)