1、第一章 MATLAB 2013 概述,2014.1.12,MATLAB2013的安装 MATLAB2013的界面介绍 MATLAB的基本使用方法 MATLAB常用的操作命令和快捷键 MATLAB的帮助系统 MATLAB的文件操作,主 要 内 容:,1.1 MATLAB的安装,安装MATLAB 2013系统,需运行系统自带的安装程序setup.exe,可以按照安装提示依次操作。请 观 看 教 师 演 示,1.2 MATLAB2013概述,MATLAB2013的界面和前面的MATLAB软件版本的界面有很大差别,菜单和工具合为了一体,即为菜单工具。 所以MATLAB2013的界面主要包括菜单工具和窗
2、口界面。,1.2.1 MATLAB2013界面窗口介绍,在计算机上正确安装了MATLAB2013后,有两种方法可以完成MATLAB2013的启动: 如果在桌面上已经创建了快捷方式,可以直接双击桌面快捷方式启动MATLAB2013; 选择【开始】【所有程序】,找到MATLAB2013 软件点击,即可启动MATLAB2013。 MATLA2013 B启动后,可以得到图1.1所示的默认窗口。,在图中可以看到主窗口共分五个区域,正中间为Command Window命令窗口,用户可以输入各种不同的命令来实现相应功能;左上角为Current Folder窗口,显示当前路径下文件夹内保存的所有文件;左下角为
3、Details窗口,文件细节显示的窗口;右上角为Workspace窗口,显示工作空间里保存的所有变量;右下角为Command History窗口,用于显示系统启动时间及曾经在命令窗口里输过的历史命令。,命令窗口,命令窗口用于输入MATLAB命令、函数、矩阵、表达式等信息,并显示除图形以外的所有计算结果,是MATLAB的主要交互窗口。当命令窗口出现提示符时,表示MATLAB已准备好,可以输入命令、变量或函数,回车后就可执行。 若提示符K表示当前处于调试模式,需要键入“dbquit”退回正常模式,也可以按快捷键Ctrl+c强制退出运行状态。,用 键上下翻阅运行过的命令,点击回车系统再次执行;输入c
4、lc命令,系统将清除命令窗口中的所有内容 当需要编辑较复杂的程序时,直接在命令窗口中进行编辑不方便,MATLAB系统提供了MATLAB Editor/Debugger(文本编辑窗口)窗口,当前目录窗口,当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。 将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:mydir设置为当前目录,可在命令窗口输入命令: cd c:mydir (注意:只能用英文),当前目录窗口如图所示,该窗口中显示了当前目录下所有文件的文件名、文件类型、最后修改时间和文件相关描述等信息。,历史命令窗口,历史命令窗口记
5、录已经运行过的命令、函数等信息,可以进行命令历史的查找、检查等工作,用键上下翻;可以在该窗口中对命令历史进行复制、删除等操作。 窗口中除了保留了输入的命令外,还记录了每次打开系统的时间。 如果要清除掉这些记录,可选择工具菜单HOMEClear Commands Clear Command History。,工作空间窗口,工作空间窗口列出了数据的相关信息,如数据名称、大小及数据类型等信息。利用数组编辑器,用户可以对数据的内容进行观察、编辑和修改。 打开编辑器的方法有以下几种: 双击变量名 将鼠标指向要观察的变量名,单击鼠标右键,选择弹出菜单的Open Selection选项,此时将打开数组编辑器
6、,通过变量编辑器可以直接观察变量中的具体元素,也可修改变量中的具体元素。如图,who和whos这两个命令 用于显示在Workspace中已经驻留的变量名清单。who命令只显示出驻留变量的名称,whos在给出变量名的同时,还给出它们的大小、所占字节数及数据类型等信息。,当选中某些变量后,再单击Delete按钮,就能删除这些变量。clear命令用于删除 Workspace中的变量,也可以HOMEClear Workspaces。(预定义变量不能被删除)注意:函数内部调用的一些临时变量,不会占用工作空间,这些变量在函数运行结束后将被释放。,1.2.2 MATLAB2013界面菜单工具栏介绍,MATL
7、AB2013启动后,用户可以看到如图所示的菜单工具栏。顶层菜单有HOME(基本菜单和工具),PLOTS(绘图工具)和APPS(应用程序)三项。,HOME基本菜单和工具: 包括FILE、VARIABLE、CODE、SIMULINK、ENVIRONMENT和RESOURCES六个菜单项,下面简要介绍一下各菜单的主要功能。 FILE菜单工具栏,如图所示。,New Script工具用于新建一个脚本式M文件; New 菜单,点击弹出如图所示菜单;,包括新建Script(脚本式M文件)、Function(函数式M文件)、Example(示例)、Figure(图形窗口)、Graguical User Int
8、erface(GUI用户界面)、Simulink Model(仿真模型),等。 Open 打开M文件; Find Files 查找文件; Compare 比较两个文件。,VARIABLE 菜单工具项栏 VARIABL菜单工具包括Import Data、Save Workspace、New Variable、Open Variable和Clesr Workspace五项,,1)Import Data 导入文件数据选择该子菜单,就会出现所要导入文件路径的对话框,在对话框中选择需要导入的文件,选择好要导入的文件后点击某一数据名称,在对话框的右侧将会以表格的形式预览数据内容,如图。,用户可以先检查数据
9、是否是需要导入的数据,然后,再点击右边的Import Selection如图所示。,点击Import Data ,系统将正确的数据以VarName为名导入到工作空间。如果选择Generrate Script,将产生一个脚本式M文件,运行该文件,将在工作空间产生相应的变量。 2) Save Workspace 保存工作空间变量。点击后,系统将会把工作空间里的所有变量保存在当前路径下默认的matlab.mat文件中,用户也可以修改文件名。 3) New Variable 新建一个变量并以表格的形式打开变量。 4) Open Variable以表格的形式打开变量;,3. CODE 菜单工具栏 COD
10、E包括Analyze Code、Run and Time、Clear Commands,其中Clear Commands点击后,包括Command Window和Command History。 4. SIMULINK 菜单工具栏Simulink Library 打开仿真模块库,进入仿真。 5. ENVIRONMENT菜单工具栏ENVIRONMENT 菜单工具项包括Layout、 Preferences、Set Path和Parallel四项,如图1.12所示。,Layout 工具用于设置界面。点击后包括SELECT LAYOUT(选择界面模式)和SHOW(显示的界面)两类。Preferenc
11、es用于设置工作环境的属性,其对话框如图所示。,主要包括以下项目的属性设置:General 用于系统整体的属性设置; Fonts 用于各窗口的字体设置,包括命令窗口,历史命令窗口,程序编辑器,工作空间,当前路径等; Colors 用于各窗口的各种类型的字体颜色设置,如错误、警告、字符等的显示颜色;,Command Window 用于命令窗口特殊属性的设置; Command History用于历史命令窗口特殊属性的设置; Editor/Debugger 文件编辑器窗口特殊属性设置;其中还包括了帮助、网络、当前路径、矩阵编辑器、GUI布局编辑器等GUI属性设置将在第7章介绍); Smulink 仿
12、真与连接特殊属性设置(Smulink属性设置将在第8章介绍)。,3)Set Path用于设置或显示搜索路径。选择该命令,将出现如图所示的对话框。对话框的右侧列出了当前MATLAB系统的所有搜索路径。如果用户想把某一目录及该目录下的子目录全部包含在搜索范围内,则单击左侧的Add with Subfolders按钮。如果搜索的范围需要忽略该目录下的子目录,则单击按钮Add Folder。,当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是:(1) 检查该命令是不是一个变量。 (2) 检查该命令是不是一个内部函数。 (3) 检查该命令是否当前目录下的
13、M文件。 (4) 检查该命令是否MATLAB搜索路径中其他目录下的M文件。,用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录纳入MATLAB系统统一管理。设置搜索路径的方法还有: 用path命令设置搜索路径。如:将用户目录c:mydir加到搜索路径下,可在命令窗口输入命令: path(path, c:mydir),path %MATLAB所有搜索路径以一列的形式显示 genpath %查询MATLAB所有搜索路径,以一行的形式显示editpath %进入搜索路径对话框pathtool %进入搜索路径对话框,例:在搜索路径下打开文件,A=imread(cameraman.tif,
14、tif); %cameraman.tif为搜索路径下图像文件 imshow(A) type besttree.m % besttree.m为搜索路径下文件 edit besttree.m load woman%woman为搜索路径下数据文件 imshow(X,map),1、李明同学设计了一个程序文件myprogram.m,并将其保存到了f:ppp中,但在命令窗口中输入文件名 myprogram 后,MATLAB系统提示: ? Undefined function or variable myprogram.试分析产生错误的原因并给出解决办法。 2、以自己的姓名拼音字母加学号为名在桌面创建一文件
15、夹,把当前路径设置到该文件夹,同时把该路径添加到搜索路径列表中。,课 堂 练 习,6. RESOURCES 菜单工具项 RESOURCES帮助的相关信息。 MATLAB提供了文档型的帮助文件,实例型的帮助文件,以及系列产品的帮助文件,包括软件介绍、函数命令含义与算法、工具箱说明、典型算法等内容。,MATLAB帮助系统,1、 打开帮助窗口可以通过以下几种方法: (1) 点击工具栏中的“?”或 快捷键F1 ; (2) 在命令窗口中输入helpwin、helpdesk或doc。,2、help帮助命令,(1)在线帮助总览 help % 显示帮助总览若要强行中止程序的运行可使用Ctrl+C命令 (2)显
16、示基本函数信息 help elfun(帮助基本函数) (3)显示具体函数的帮助信息 help round %显示具体函数的详细信息,本例为round函数, lookfor sin RobotEX.m: % This demo animates a robotic arm using the picture control. By SUBSINDEX Subscript index. java.m: %Using Java from within MATLAB. 注意:MATLAB对字母的大小写是敏感的,变量A与变量a表示两个不同的变量。MATLAB所有的命令和函数都必须用小写 。,3、look
17、for 命令,4、模糊查询,输入函数的前几个字母,单击键,二、PLOTS绘图工具菜单,点击顶层菜单PLOTS,出现如图1.16所示的绘图工具,并呈灰色。如果选中某可绘数据,工具呈深色,即可用状态。,三、APPS应用程序菜单,点击菜单APPS,出现如图所示的应用工具,用户可以直接调用相应的工具。,1.3 MATLAB基本使用方法,常见的算术运算包括加、减、乘、除和乘方等运算,1.3.1 简单的数学运算, A=3 5;2 4;B=6 8;1 5; A.*B ans =18 402 20 A*B ans =23 4916 36,关 系 运 算,常见的关系运算包括大于、小于、等于、大于等于、小于等于和
18、不等于关系运算符主要用来对矩阵(或数组)与一个标量或与同类型的矩阵(或数组)的比较,得出由0和1组成的矩阵或数组,其中0和1分别表示不满足和满足指定的关系。, A=2 4 6;3 2 0; A=2 %矩阵A中的每一个元素分别于2进行比较 ans =1 0 00 1 0 B=1 8 0;7 9 1; A=B %矩阵A中的元素与矩阵B中对应的元素进行比较 ans =1 0 10 0 0 A=B,逻辑运算,逻辑运算中,所有非零数值都被认为“真”,零为“假”;在逻辑运算的结果中,如果判断结果为真,则输出1,否则输出0, A=2 4 6;3 2 0; B=1 8 0;7 9 1; A %对矩阵A中的每一
19、个元素取非运算,运算过程中矩阵的元素非0即为1 ans =0 0 00 0 1 A&B ans =1 1 01 1 0,1、已知A=0 1 6;0 2 0,B=0 1 0;1 2 0,求非A,A与B,A或B。找出A中为0元素的位置(帮助find函数) 2、已知矩阵A=1,2,5;2,3,2;1,4,7, B=3,2,7;2,9,2;1,5,7,找出A,B中相等的元素位置及其对应的元素值,课 堂 练 习,MATLAB提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。常用函数如下表,常用数学函数,(1) 三角函数以弧度
20、为单位计算。 (2) abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。 (3) 用于取整的函数有fix、floor、ceil、round,要注意它们的区别。 (4) rem与mod函数的区别:rem(x,y)=x-y.*fix(x./y) mod(x,y) )=x-y.*floor(x./y)rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。,函数使用说明:,5、 复数,MATLAB语言对复数的处理十分简便,不需要进行其他任何的附加操作。 在命令窗口输入下列命令: a=pi+3.14i % i前面是数字乘号可以省略 a=3.1416 + 3.1400i
21、 b=4*(1+3/sqrt(-1) b =4.0000 -12.0000i, c=pi+sin(pi/2)*i % i前面是符号,则乘号必须要保留 c =3.1416 + 1.0000i a+b %复数加法 ans =7.1416 - 8.8600i a-b %复数减法,1、计算6+8i的模值和相位角(用度表示);2、计算,课 堂 练 习,常用标点符号,常用操作命令,save命令是将MATLAB工作空间中的变量存入磁盘。具体格式如下:(1)save二进制格式;文件名为matlab.mat(2)save dfile二进制格式;文件名为dfile.mat 如果要保存到其他路径,可在文件名前加上路
22、径 save F:matlabdataxy load F:matlabdataxy,save函数,路径上不能 有汉字哟,(3)save dfile a b把变量a b以二进制格式存入当前路径下的dfile.mat注意:变量间用空格隔开 save xy x y save F:matlabdataxy.txt x y -ascii (4)save dfile.dat a ascii append将变量a 以8位ASCII码形式存入dfile.mat文件 save mydata.txt x ascii save mydata.txt y ascii append,(5)save dfile.dat
23、a ascii double将变量a 以16位(默认是8位)ASCII码形式存入dfile.mat文件 a=1,2;3,4; save one.txt a -ascii double save one.txt a -ascii (6)save(fname,a,-ascii) save(fname,a,-ascii),load函数,与save函数相对应,load函数是将磁盘上的数据读入到工作空间。具体格式如下: (1)load把默认文件名matlab.mat的内容读入内存 (2)load dfile把dfile装入内存: load one.dat (3)x=load( fname) load (
24、woman)imshow(X,map), save F:matlabdataxy load F:matlabdataxy,课 堂 练 习,1、以步长为0.01,在0到2间产生一组正弦波数据,并以文本形式保存到E的matlab上。2、将1题保存的数据导入到工作空间,并提出相应的x,y的值。,变 量,1变量的命名在MATLAB中,变量名可以是由字母、数字或下划线组成的字符序列,最多可包含63个字符,但第一个字符必须是字母。例如:myfile13、ab_1cd、EXAMPE等均为合法变量名,而3dat、_mydat、123.4等都不是合法变量名。 2赋值语句赋值语句的格式:变量名表达式,例:,计算下
25、列表达式,并显示结果:,在MATLAB命令窗口输入命令: x=1+2i; y=3-sqrt(17); z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y),预定义变量,文件操作,文件操作是一种数据输入输出方式,即从数据文件读取数据或将结果写入数据文件 MATLAB提供了一系列底层输入输出函数,专门用于文件操作,文件操作函数有fopen、close、fprintf、fscanf等,读者可以利用MATLAB的帮助系统查看文件操作函数的应用方法。 本小节只介绍二进制文件和文本文件的读写操作。图像文件的读写将在第5章介绍。,文件的打开与关闭,要对文件进行读或写操作,首先得打
26、开文件;对文件操作完成后,为了保证文件内容的安全,必须要关闭文件。 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。 fopen函数的调用格式为:fid=fopen(文件名,打开方式) 说明:其中fid用于存储文件句柄,如果返回的句柄值大于0,则说明文件打开成功;若返回的句柄值为0,则表示打开文件失败 ;,文件打开方式,如果在上述表格中的打开方式字符串后面添加一个t,则表示该文件是以文本格式打开; 如果在上述表格中的打开方式字符串后面添加一个b,则表示该文件是以二进制格式方式打开。,关闭文件,当文件进行完读、写等操作后,应及时关闭文件,以免数据丢失。关闭文件
27、用fclose函数,调用格式为:stafclose(fid)说明:该函数关闭fid所表示的文件句柄。sta表示关闭文件操作的返回值,若关闭成功,返回0,否则返回-1,通常缺省sta。 如果要关闭所有已打开的文件用fclose(all), fid=fopen(test,rt) %以文本读的方式打开 fid =4 % fid的返回值大于0说明打开成功sta=fclose(fid), fid=fopen(E:matlab1xy.txt,rt) %带路径打开文件 fid =3 sta=fclose(fid) sta =0, fid=fopen(test,wb) %以二进制写的方式打开 fid =5%f
28、id的返回值大于0说明打开成功 如果当前路径上不存在test文件,将在当前路径上创建一个名为test的文件。 fclose(all),二进制文件的读写,写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNTfwrite(fid,A,precision)说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度.常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。,读二进制文件,fread函数可以读取二进制
29、文件的数据,并将数据存入矩阵。其调用格式为:A,COUNT=fread(fid,size,precision)说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用size,则可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、M,N(读M行N列的数据到MN的矩阵中,数据按列存放)。precision用于控制所写数据的精度,其形式与fwrite函数相同。,例:, a a =1 2 33 4 23 4 6 fid=fopen(test,wb) fid =8, fwrite(fid,a,d
30、ouble) ans =9,例:, fclose(fid) ans =0 fid2=fopen(test,r), b=fread(fid,5,double) b =13324,文本文件的读写操作,读文本文件fscanf函数可以读取文本文 件的内容,并按指定格式存入矩阵。其调用格式为:A,COUNT=fscanf(fid,format,size)说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明
31、符,如数据宽度说明等。 size为可选项,与fread函数相同。, fid=fopen(E:matlab1xy.txt,rt) %带路径打开xy.txt文件 fid =4 A,COUNT=fscanf(fid,%f,inf) %以一列的形式显示 A,COUNT=fscanf(fid,%f,2,inf),写文本文件,fprintf函数可以将数据按指定格式写入到文本文件中 其调用格式为:fprintf(fid,format,A)说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。,例:,x = 0:.1:1; y = x; exp(x); fid = fopen(exp.txt, wt); fprintf(fid, %6.2f %12.8fn, y); fclose(fid) fid1= fopen(exp.txt, rt); fid1= fopen(exp.txt, r); B=fscanf(fid1,%f),创建一个二进制和文本形式的文件,分别以二进制形式和文本形式写入A=1 2 3,课 堂 练 习,Thank You !,