第一章MATLAB语言概述.ppt

上传人:本田雅阁 文档编号:2559842 上传时间:2019-04-07 格式:PPT 页数:123 大小:1.67MB
返回 下载 相关 举报
第一章MATLAB语言概述.ppt_第1页
第1页 / 共123页
第一章MATLAB语言概述.ppt_第2页
第2页 / 共123页
第一章MATLAB语言概述.ppt_第3页
第3页 / 共123页
亲,该文档总共123页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第一章MATLAB语言概述.ppt》由会员分享,可在线阅读,更多相关《第一章MATLAB语言概述.ppt(123页珍藏版)》请在三一文库上搜索。

1、皖西学院数学系信息论教研室,第一章 概 述,1.1 MATLAB产品族简介 1.2 MATLAB的桌面环境 1.3 Command Windows和MATLAB指令 1.4 Command History 和历史记录 1.5 Current Directory和搜索路径 1.6 Launch Pad和Start菜单 1.7 使用帮助 1.8 本章小结,皖西学院数学系信息论教研室,1.1 MATLAB产品族简介,MATLAB的名称源自Matrix Laboratory,它的首创者是在数值线性代数领域颇有影响的Cleve Moler博士,他也是生产经营MATLAB产品的美国Mathworks公司的

2、创始人之一。MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而使其被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作中,而且利用MATLAB产品的开放式结构,用户可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,逐步完善MATLAB产品以提高产品自身的竞争能力。,皖西学院数学系信息论教研室,MATLAB产品族可以用来进行如下工作: * 数值分析; * 数值和符号计算; * 工程与科学绘图; * 控制系统的设计与仿真; * 数字图像处理; * 数字信号处理; * 通

3、讯系统设计与仿真; * 财务与金融工程。,皖西学院数学系信息论教研室,1.1.1 MATLAB的产品体系 MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中有 * MATLAB; * MATLAB Toolboxes; * MATLAB Compiler; * Simulink; * Simulink Blockset; * Real-Time Workshop (RTW); * Stateflow; * Stateflow Coder。,皖西学院数学系信息论教研室,图1-1 MATLAB的产品体系,皖西学院数学系信息论教研室,其中,MATLAB是MATLAB产品家族的基础,它提

4、供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。,皖西学院数学系信息论教研室,MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言M语言编写的函数文件编译生成标准的C/C+语言源文件,而生成的标准C/C+源代码可以被任何一种C/C+编译器编译生成函数库或者可执行文件,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言(例如C/C+语言)进行混合应用,取长补短,以提高程序的运行效

5、率,丰富程序开发的手段。 MATLAB除了能够和C/C+语言集成开发以外,目前的MATLAB还提供了和Java语言接口的能力,并且它还支持COM标准,能够和任何一种支持COM标准的软件协同工作。另外,在Release 13中,包含了MATLAB Compiler的扩展产品MATLAB COM Builder和Excel Builder,分别用来将MATLAB的函数文件打包成COM组件或者Excel插件,将MATLAB应用程序算法集成到相应的开发工具或者应用软件中。,皖西学院数学系信息论教研室,利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用,这些工具箱应用的算法是开放的、可扩展

6、的,用户不仅可以察看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法以便扩充工具箱的功能。目前MATLAB产品的工具箱有40多种,分别涵盖了数据获取、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。,皖西学院数学系信息论教研室,MATLAB主要的专业工具箱包括以下几种。 * 数学与数据分析: Optimization Statics Nerual Network Symbolic Math Partial Differential Equation Mapping Spline Curve Fitting Virtual Real

7、ity Bioinforamtics,皖西学院数学系信息论教研室,* 数据获取与采集: Data Acquisition Image Acquisition Instrument Control Database Excel,皖西学院数学系信息论教研室,* 信号处理与图像处理: Signal Processing Image Processing Communication System Identification Wavelet Filter Design MATLAB Link for Code Composer Studio,皖西学院数学系信息论教研室,* 控制系统设计与分析: Con

8、trol system Fuzzy Logic Robust Control16 Mu-Analysis and Synthesis18 LMI Control18 Model Predictive Control18 Model-Based Calibration,皖西学院数学系信息论教研室,* 财经与金融: Financial Financial Time Series GARCH Datafeed Financial Derivatives Fixed Income,皖西学院数学系信息论教研室,1.1.2 Simulink简介 Simulink是基于MATLAB的框图设计环境,可以用来对

9、各种动态系统进行建模、分析和仿真,它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车等,其中包括连续、离散,条件执行、事件驱动、单速率、多速率和混杂系统等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码就能完成整个动态系统的建模工作。 此外,在Simulink基础上还提供了Stateflow,用来进行事件驱动过程的仿真。,皖西学院数学系信息论教研室,Simulink的特点: * 交互式建模:

10、Simulink本身就提供了大量的功能块方便用户快速建立动态系统的模型,如图1-2所示,建模的时候只需要利用鼠标拖放功能块并将其连接起来即可。 * 交互式仿真:Simulink的框图提供可交互的仿真环境,可以将仿真结果动态显示出来,并且在各种仿真的过程中调节系统的参数。 * 任意扩充和定制功能:Simulink的开放式结构允许用户扩充仿真环境的功能,可以将用户利用C、C+、Fortran语言编写的算法集成到Simulink框图中。,皖西学院数学系信息论教研室,图1-2 Simulink的库浏览器,皖西学院数学系信息论教研室,* 与MATLAB工具集成:Simulink的基础是MATLAB,在S

11、imulink框图中可以直接利用MATLAB的数学、图形和编辑功能,完成诸如数据分析、过程自动化分析、优化参数等工作。 * 专业模型库:为了扩展Simulink的功能,Mathworks公司针对不同的专业领域和行业开发了各种专业模型库,将这些模型库同Simulink的基本模块库结合起来,可以完成不同专业领域动态系统的建模工作。Simulink的相关产品以及专业模块如表1-1所示。,皖西学院数学系信息论教研室,表1-1 MATLAB中的Simulink相关模块,皖西学院数学系信息论教研室,表1-1 MATLAB中的Simulink相关模块,皖西学院数学系信息论教研室,图1-3 用Simalink

12、进行视频系统仿真的例子,皖西学院数学系信息论教研室,图1-3 用Simalink进行视频系统仿真的例子,皖西学院数学系信息论教研室,1.1.3 Stateflow 简介 Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。 有限状态机是具有有限个状态的系统的理论表述。它以某些缺省的状态为起点,根据所定义的事件和转移进行操作,转移表示状态机如何对事件进行响应(控制流程)。,皖西学院数学系信息论教研室,

13、图1-4 有限状态机的一个例子,皖西学院数学系信息论教研室,图1-4就是有限状态机的一个例子。其中,A、B、C、D、E分别表示系统的不同状态,而a、b表示响应的事件,具有方向的线表示状态与状态之间的逻辑流,逻辑流依赖事件驱动,所以这是一个典型的事件驱动模型,可利用有限状态机理论进行表述。 假设用一个状态机表示空调的制冷工作,一般空调工作的时候具有两种状态,即运行(On)和停止(Off)。当电源接通之后,空调机一般默认为运行状态,若室内的温度高于设定的温度,则空调机处于运行状态,若室内的温度低于设定的温度,则空调机停止运行,这样系统就从一个状态转换到另一个状态。利用Stateflow可以对该系统

14、进行建模,如图1-5所示。,皖西学院数学系信息论教研室,图1-5 利用Stateflow建模,皖西学院数学系信息论教研室,Stateflow主要可以用于各种动态逻辑、控制流程系统的建模与仿真,例如在飞行器的导航制导与控制系统中,经常需要根据当前的飞行状态切换不同的系统控制参数,利用Stateflow就可以完成此类系统的建模与仿真。再比如说,在通讯系统中,为了仿真网络通讯中的物理层(MAC Layer)协议,也可以使用Stateflow进行建模与仿真,图1-6展示了用于仿真以太网物理层协议的Stateflow模型。,皖西学院数学系信息论教研室,图1-6 利用Stateflow完成以太网物理层协议

15、仿真,皖西学院数学系信息论教研室,1.1.4 自动化代码生成工具 在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Workshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink的模型框图和Stateflow的状态图转换成高效、优化的程序代码。利用RTW生成的代码简洁、可靠、易读。目前RTW支持生成标准的C语言代码,并且具备了生成其他语言代码的能力。整个代码的生成、编译以及相应的目标下载过程都是自动完成的,用户需要做的仅仅是使用鼠标点击几个按钮即可。Mathworks公司针对不同的实时或非实时操作系统平台开发了相应的目标选项,以配合

16、不同的软、硬件系统完成快速控制原型(Rapid Control Prototype)开发、硬件在回路的实时仿真(Hardware-in-Loop)、产品代码生成等工作。,皖西学院数学系信息论教研室,图1-7 Real-Time Workshop的体系结构,皖西学院数学系信息论教研室,目前MATLAB/Simulink的RTW支持的目标主要包括: * S-function Target; * Rapid Simulation Target; * General Real-Time Target; * DOS(4GW)Real-Time Target; * Real-Time Windows Ta

17、rget; * LE/O Real-Time Target; * Tornado(VxWorks)Real-Time Target; * Embedded Target for Motorola MPC555; * Embedded Target for TI TMS320 C6000 DSP; * Embedded Target for Infineon C166; * Embedded Target for Motorola HC12; * Embedded Target for OSEK/VDX; * xPC Target; * 第三方硬件平台。,皖西学院数学系信息论教研室,在这些目标体

18、系中,常用于控制系统原型仿真的目标平台主要包括Real-Time Windows Target、xPC Target以及dSPACE等第三方硬件平台。 Real-Time Windows Target可以将一台运行Windows操作系统的PC机转变成为独立的自主目标机,目标机交互地实时运行Simulink模型。Real-Time Windows Target支持直接的I/O访问,允许用户和模型之间实时交互,是一个易用的、廉价的低端快速原型开发和硬件在回路仿真的目标环境。,皖西学院数学系信息论教研室,利用xPC Target,用户可以将Simulink提供的支持xPC Target的I/O模块添

19、加到Simulink的模型中,然后通过RTW的xPC Target选项,将模型下载到另一台运行在xPC Target实时内核的x86体系计算机上,这时模型在xPC实时内核上实时地运行。xPC支持的板卡和I/O数量种类丰富,是理想的快速原型实现和硬件在回路仿真的测试工具。,皖西学院数学系信息论教研室,在第三方硬件支持中,目前最流行的也是性能较高的就是德国dSPACE公司开发的dSPACE系统。dSPACE系统是一套基于MATLAB/Simulink的控制系统开发及测试平台,实现了与MATLAB/Simulink的无缝连接。在MATLAB/Simulink和dSPACE系统的支持下,可以完善地解决

20、控制系统的快速原型开发和硬件在回路仿真中遇到的各种问题,使工程师可以将自己的精力集中在控制系统算法的开发中,而不是耗费在大量繁琐的代码编写中。,皖西学院数学系信息论教研室,dSPACE系统的主要特点如下: * 组合性强:dSPACE系统设计了各种标准的组件系统,可以对系统进行任意的组合和配置,可以选择不同的处理器板卡,也可以针对具体的应用选择性能不同的I/O板卡。 * 易于掌握:由于dSPACE系统和MATLAB/Simulink产品之间的无缝连接,使掌握了MATLAB的广大工程技术人员可以轻松掌握dSPACE系统。,皖西学院数学系信息论教研室,* 快速性好:由于dSPACE系统和MATLAB

21、/Simulink产品之间的无缝连接,整个生成代码、编译、下载过程由计算机自动完成,而修改参数再次生成代码、编译、下载只需要几分钟,从而可以在短时间内对原型进行反复的更改和试验,减少了以往大量的编码修改、编写的时间,极大地提高了工作效率。 此外,dSPACE系统还具有较高的实时性、可靠性,而且通过不同的板卡配置提供了灵活多变的应用,从而适应用户的各方面要求。,皖西学院数学系信息论教研室,关于dSPACE系统的详细信息, 请浏览该公司的网站:http:/, 也可以浏览该产品在中国的惟一代理商北京九州恒润科技有限公司的网站:http:/。 像各种单片机一样,HC12、C166等主要用于控制系统中嵌

22、入式控制器的处理器在回路中的仿真开发,特别是Embedded Target for TI C6000 DSP能够将Simulink框图化的模型转变成直接在C6000系列DSP开发板或者EVM板上运行的可执行程序,从而直接通过硬件设备来验证系统的算法。 另外,MATLAB开放性的可扩充体系允许用户开发自定义的系统目标,利用Real-Time Workshop Embedded Coder能够直接将Simulink的模型转变成效率优化的产品级代码,代码不仅可以是浮点的,还可以是定点的。,皖西学院数学系信息论教研室,1.2 MATLAB的桌面环境,在运行MATLAB之前首先要在自己的操作系统中安装M

23、ATLAB,目前MATLAB可以在Windows、Red-hat Linux、Sun Solaris、MAC OS等操作系统中安装使用。如果读者使用Windows操作系统,则建议使用Windows 2000 或者Windows XP Professional版本作为MATLAB的运行平台。运行MATLAB时,可以双击MATLAB的图标,或者在命令行提示符(控制台方式)下键入指令:matlab,这时将启动MATLAB的图形桌面工具环境。,皖西学院数学系信息论教研室,MATLAB的桌面环境可以包含多个窗口,这些窗口分别为历史命令窗口(Command History)、命令行窗口(Command W

24、indow)、当前目录浏览器(Current Directory Browser)、工作空间浏览器(Workspace Browser)、目录分类窗口(Launch Pad)、数组编辑器(Array Editor)、M文件编辑器/调试器(Editor/Debugger)、超文本帮助浏览器(Help Navigator/Browser),这些窗口都可以内嵌在MATLAB主窗体中,组成MATLAB的用户界面。其中当MATLAB安装完毕并首次运行时,展示在用户面前的界面为MATLAB运行时的缺省界面窗口,如图1-8所示。,皖西学院数学系信息论教研室,图1-8 MATLAB默认的用户界面,皖西学院数学

25、系信息论教研室,MATLAB 6.5的缺省界面和MATLAB 6.1的缺省界面相比还是有一定变化的,主要就是在界面的左下角有一个名为“Start”的启动菜单,在这个菜单中可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源,它的功能和MATLAB的目录分类窗口(Launch Pad)功能非常类似。在默认的缺省用户界面中,新版本的MATLAB中没有了目录分类窗口(Launch Pad),而是工作空间浏览器(Workspace Browser)。 MATLAB启动的界面可以具有多种默认的选择,用户可以通过MATLAB界面中的“View”菜单下的“Desktop Layout”

26、子菜单下的命令选择不同的MATLAB界面,这些命令分别为:,皖西学院数学系信息论教研室,* Default:缺省的界面,如图1-8所示。包含历史命令窗口(Command History)、命令行窗口(Command Window),此外工作空间浏览器(Workspace Browser)和当前目录浏览器(Current Directory Browser)两个窗口层叠在一起。 * Command Windows Only:仅包含命令行窗口(Command Window),此时MATLAB界面的外观类似于旧版本的MATLAB。 * Simple:包含两个窗口命令行窗口(Command Windo

27、w)和历史命令窗口(Command History),两个窗口并列在界面中,如图1-9所示。,皖西学院数学系信息论教研室,图1-9 选择Simple菜单命令的界面,皖西学院数学系信息论教研室,* Short History和Tall History:这两个菜单命令包含的窗口类型和数量同默认的界面完全一致,不过排放的顺序不同,如图1-10、1-11所示。,图1-10 选择Short History菜单命令的界面,皖西学院数学系信息论教研室,图1-11 选择Tall History菜单命令的界面,皖西学院数学系信息论教研室,* Five Panel:包含所有的MATLAB桌面窗口,在MATLAB界

28、面中各个窗口处于平铺状态,如图1-12所示。,图1-12 选择Five Panel菜单命令的界面,皖西学院数学系信息论教研室,在MATLAB用户界面的View菜单下还有一些菜单命令可以用来选择显示在图形界面中的窗口,用户可以根据自己的喜好选择配置用户界面。在本小结提及的各种用户交互的窗口将在后续的章节中详细讲述。一般情况下,建议用户选择“Command Windows Only”方式来运行MATLAB。在这种启动方式下,MATLAB的启动速度比较快,占用的资源略少。,皖西学院数学系信息论教研室,1.3 Command Windows和MATLAB指令,1.3.1 命令行窗口 MATLAB的命令

29、行窗口不仅可以内嵌在MATLAB的用户界面中,还可以浮动在界面上,单击命令行窗口上的按钮,就可以浮动命令行窗口,如图1-13所示。 若希望重新将命令行窗口嵌入到MATLAB的界面中,可以执行“View”菜单下的“Dock Command Window”命令即可。 MATLAB的命令行窗口无论是外观还是使用方法,从其4.x的版本起就已经没有明显的变化了,它最具特色的就是其命令回调的功能,也就是说在MATLAB的命令行窗口键入任意算术表达式,系统将自动解算,并给出结果,见例子1-1。,皖西学院数学系信息论教研室,图1-13 浮动的MATLAB命令行窗口,皖西学院数学系信息论教研室,皖西学院数学系信

30、息论教研室,注意: 这里的符号“”为MATLAB的命令行提示符。 这里的符号“”表示键入表达式之后按回车键。 MATLAB的数学运算符同其他的计算机高级语言(例如C语言)类似。 这里计算得到的结果显示为ans,ans是英文单词“answer”的缩写,它是MATLAB默认的系统变量。 所有MATLAB的计算结果和数值都默认使用双精度类型显示。,皖西学院数学系信息论教研室,例子1-2 计算复数的运算(1+2i)(1?3i)。 在MATLAB命令行窗口中键入: (1+2i)*(1-3i) 系统直接计算表达式的结果,并给出答案: ans = 7.0000-1.0000i,皖西学院数学系信息论教研室,注

31、意: 在MATLAB中表示复数,按照例子1-2中所示的样式,即xyi,其中x和y都是双精度的数字。在这里,i作为复数单位存在,同样也可以使用j表示复数单位。 上面的两个例子中都是将MATLAB直接作为计算器来使用的,在MATLAB的命令窗口中还可以定义相应的MATLAB数据对象和变量以及调用函数。,皖西学院数学系信息论教研室,例子1-3 调用函数。 cos(pi/2) ans = 6.1232e-017 exp(acos(0.3) ans = 3.5470,皖西学院数学系信息论教研室,在例子1-3中调用余弦函数求/2的余弦值,但是一般的数学知识告诉我们/2的余弦应该为0,但是MATLAB求的数

32、值不是0,而是一个近似为0的数值,这都是由MATLAB浮点数的计算精度引起的。在调用函数的时候,需要注意括号的作用,它会造成主计算优先级的变化。例子1-3在计算第二个表达式的时候,首先计算反余弦函数,然后再计算指数函数。,皖西学院数学系信息论教研室,MATLAB的功能是通过大量的M语言函数或者MATLAB内建的指令来完成的,在命令行窗口中,调用这些函数的方法就是直接键入函数或者指令,并且根据不同的函数提供相应的参数列表。MATLAB的命令行窗口具有命令行记忆的功能,也就是说,在命令行窗口中,使用上、下光标键就可以重复以前键入的指令了,这对使用MATLAB是非常便利的功能。而且MATLAB还具有

33、局部记忆的功能,例如在MATLAB的命令行窗口中曾经执行了一个函数testcommandwindows,那么再次运行该函数时,只要在命令行中键入test,然后按光标上键,整条命令就会出现在命令行窗口中,这时按回车键就可以执行该指令了。,皖西学院数学系信息论教研室,1.3.2 设置命令行窗口的显示方式 其实MATLAB的计算结果除了用图形方式进行可视化输出以外,在大多数情况下,都是在命令行窗口中输出的,而且命令行窗口中的文本输出形式,例如文本的字体、字号或者色彩等都可以根据用户的需要自定义。设置的方法是执行“File”菜单下的“Reference”命令,在弹出的对话框中,选择左边选项中的“Com

34、mand Window”项,然后展开“Font & Colors”子选项,对话框的右边则出现可以设置的文本输出特性,如图1-14所示。 一旦通过图1-14所示的对话框对各种文本的显示属性进行了设置,在单击“Apply”按钮或者“OK”按钮时属性值就会立即生效,而且设置的属性也会被永久保留下来,在下一次启动MATLAB时将直接使用设定的属性。,皖西学院数学系信息论教研室,图1-14 设置命令行窗口的文本属性,皖西学院数学系信息论教研室,在命令行窗口中显示数值计算的结果具有一定的格式,例如在上一小节的两个例子中,所有的数值都是按照MATLAB默认的数字显示格式短(short)格式显示的,在这种表示

35、方法下具有固定的格式,保留小数点后四位有效数字,对于大于1000的数值,使用科学计数法表示。设置数据的显示格式需要使用format指令,具体的使用方法如表1-2所示,在表格中使用的示例数据为自然对数的底数。,皖西学院数学系信息论教研室,表1-2 MATLAB命令行窗口显示数据的格式,皖西学院数学系信息论教研室,例子1-4 使用不同的数据显示格式显示数字。 在MATLAB命令行中,键入下面的指令: pi ans = 3.1416 format long pi ans = 3.14159265358979 format + pi ans = +,皖西学院数学系信息论教研室,例子1-4中使用MATL

36、AB的内建函数pi获取常数的数值,也可以将pi看作是MATLAB的常数。MATLAB的常数将在后面的章节中详细讲述。从例子1-4中可以看出,在不同的数据显示格式下,显示的数据位数不尽相同,大家可以根据自己的需要,设置数据显示的位数。,皖西学院数学系信息论教研室,1.3.3 常用的控制指令 MATLAB包含的函数可以粗略地分为两大类,其中之一是执行各种具体计算或者数据处理功能的函数,例如cos函数、sqrt函数等,而另外一类是进行用户环境控制的指令,比如退出MATLAB会话、执行操作系统的功能等。在表1-3中对一些常用的控制指令进行了总结。,皖西学院数学系信息论教研室,表1-3 常用的MATLA

37、B控制指令,皖西学院数学系信息论教研室,例子1-5 常用的控制指令示例。 %察看当前的路径 pwd ans = D:Temp %显示当前路径下的文件和子目录 dir . FigureMenuBar.fig How am I suppose to live without you.mp3 Java,皖西学院数学系信息论教研室,Said I loved you ,but I lied.mp3 eagles_hotelcanifornia.mp3 gui_soln.fig gui_soln.m mymesh.m test.m %显示当前路径下的MATLAB文件 what M-files in the

38、 current directory D:Temp gui_soln mymesh test %what指令的路径 which what what is a built-in function.,皖西学院数学系信息论教研室, %察看M文件的路径 which logo E:MATLAB6p5toolboxmatlabdemoslogo.m %执行系统指令 system(copy eagles_hotelcanifornia.mp3 eagles.mp3) 已复制 1 个文件。 ans = 0,皖西学院数学系信息论教研室,依次执行例子1-5的指令可以得到相应的指令输出,注意what指令和dir指令

39、的区别。另外,在执行系统指令的时候还可以使用MATLAB的“!”符号,例如在执行例子1-5最后的拷贝命令时,也可以这样做: !copy eagles_hotelcanifornia.mp3 eagles.mp3 两者的区别在于通过system指令执行系统命令能够获取系统指令的返回值,例如指令执行的状态等。system指令的一般使用方法为 system(command);,皖西学院数学系信息论教研室,其中,command就是系统指令,用单引号“”括起来作为参数传递给system指令。 在使用which指令的时候得到的输出根据which指令后面的参数不同而不同,例如在执行which what时,系

40、统判断what为内建(build-in)的函数,而在执行which logo指令时,系统判断logo为M文件,并且给出了M文件所在的路径。有关内建函数或者M文件函数的概念将在本书的第四章中详细讲述。,皖西学院数学系信息论教研室,1.4 Command History 和历史记录,1.4.1 命令行历史窗口 在默认的MATLAB界面中,命令行历史窗口总是在MATLAB界面的左下角,和命令行窗口类似,命令行历史窗口也可以浮动出来,单击命令行历史窗口界面上按钮,就可以浮动该窗口,如图1-15所示。同样,通过“View”菜单下的“Dock Command History”指令也可以将命令行历史窗口内嵌

41、回MATLAB的界面中。,皖西学院数学系信息论教研室,图1-15 MATLAB的历史记录窗口,皖西学院数学系信息论教研室,在命令行历史窗口中主要记录了在MATLAB命令行窗口中键入的所有指令,一般包括每次启动MATLAB的时间,以及每次启动MATLAB之后键入的所有MATLAB指令。这些指令不但可以清楚地记录在命令行历史窗口中,而且还可以被再次执行,它们不仅能够被复制到MATLAB的命令行窗口中,而且还可以通过这些指令的记录直接创建M文件,这些功能都可以通过命令行历史窗口的快捷菜单来方便地完成,如图1-16所示。,皖西学院数学系信息论教研室,图1-16 命令行历史的快捷菜单,皖西学院数学系信息

42、论教研室,快捷菜单中的指令说明如下: * Copy:拷贝当前选中的指令,可以将指令粘贴到其他的应用程序窗口中。 * Evaluate Selection:执行当前选中的指令。 * Create M-File:把当前选中的指令创建一个新的M文件,文件的内容就是选中的所有指令。 * Delete Selection:从命令行历史窗口中删除当前选中的指令。 * Delete to Selection:将当前选中指令之前的所有历史记录指令从命令行历史窗口中删除。 * Delete Entire History:删除命令行历史窗口中所有的指令。,皖西学院数学系信息论教研室,例子1-6 命令行历史窗口的应

43、用。 继续前面例子1-5的应用,在命令行历史窗口中,输入下面几条命令(如图1-17所示): %执行系统指令 system(copy eagles_hotelcanifornia.mp3 eagles.mp3) clear all,皖西学院数学系信息论教研室,图1-17 选择多条命令行历史语句运行,皖西学院数学系信息论教研室,然后单击鼠标右键,在弹出的快捷菜单中,选择“Evaluate Selection”命令,重复运行这些指令。 执行单条指令的方法更简便,只要在命令行窗口中用鼠标左键双击指令就可以了。 MATLAB主要将所有历史命令都保存在一个历史记录文件中,这个文件位于系统路径下,一般不需要

44、进行编辑。用户可以通过设置命令行历史窗口的属性来设置有关文件,执行“File”菜单下的“References”命令,在命令行历史窗口属性设置对话框中,可以设置有关命令行历史窗口的属性,如图1-18所示。,皖西学院数学系信息论教研室,图1-18 命令行历史窗口的属性设置,皖西学院数学系信息论教研室,1.4.2 diary指令 diary指令也是常用的MATLAB命令行指令之一,该指令的功能是创建一个日志文件,在这个文件中,能够把所有在MATLAB命令行键入的指令以及在命令行窗口的输入保存下来。这个日志文件为纯文本格式,可以利用任何一种文本编辑器编辑这个文件。 diary指令的常用方法如下: *

45、diary:在历史日志记录指令On和Off状态之间切换。 * diary on:打开历史日志记录功能。 * diary off:关闭历史日志记录功能。 * diary(filename):创建日志文件,文件名为filename。,皖西学院数学系信息论教研室,在使用diary指令时,若不指定文件名,则MATLAB自动创建一个默认文件名diary(注意,该文件没有扩展名,为纯文本文件)的日志文件,并且进入到历史日志记录状态。在日志文件中将记录所有在命令行窗口中键入的指令以及这些指令运行的结果。注意,diary记录指令的功能也仅在执行diary指令之后的MATLAB会话中有效,一旦关闭了MATLAB

46、再次启动时,则diary指令需要重新键入。,皖西学院数学系信息论教研室,1.5 Current Directory和搜索路径,1.5.1 Current Directory当前路径察看器 MATLAB加载任何文件、执行任何指令都是从当前的工作路径下开始的,所以MATLAB也提供了当前路径的浏览器Current Directory,该工具在默认的情况下位于MATLAB界面的左上方,在工作空间浏览器的下面,可以单击“Current Directory”标签切换界面。和其他的桌面工具类似,当前路径浏览器不仅可以浮动在所有窗口上方,而且还可以像默认的状态那样内嵌在桌面工具中,浮动的窗口如图1-19所示

47、。,皖西学院数学系信息论教研室,图1-19 浮动的当前路径察看器,皖西学院数学系信息论教研室,在如图1-19所示的完整的路径察看器中,还可以察看必要的M文件和MAT文件信息,如果在M文件中编写了帮助文档,则相应的帮助信息将显示在窗口的下方,同样MAT文件中包含的变量信息也会显示在这里。 当前路径察看器的主要作用是帮助用户组织管理当前路径下的M文件,并且通过该工具,能够运行、编辑相应的文件,加载MAT数据文件等,这些操作都可以通过对应的右键快捷菜单完成。当前路径察看器的快捷菜单命令虽多,但是功能一目了然,这里就不再赘述了,请大家察看相应的帮助文档,或者直接使用菜单命令来察看运行的效果。,皖西学院

48、数学系信息论教研室,当前路径察看器也可以通过相应的属性设置对话框设置其显示的外观。执行“File”菜单下的“Preferences”命令,弹出如图1-20所示的对话框。,图1-20 设置当前路径察看器的属性,皖西学院数学系信息论教研室,在对话框中可以设置有关当前路径察看器的属性,其中比较重要的就是History栏目,这里主要设置在MATLAB界面中Current Directory下拉框中显示的路径个数,默认的数值为20个。Current Directory下拉框能够将最近访问过的20个路径信息保存起来,便于用户快速地回访到那些已经访问过的路径。有些时候发生了路径的变化,或者不需要保留这些路径

49、信息时,则可以单击“Clear History”按钮,将该下拉框中的路径信息删除,删除后,仅保留当前的工作路径。,皖西学院数学系信息论教研室,1.5.2 工作路径 MATLAB的工作路径就是当前的路径,MATLAB启动时采用默认的路径作为当前工作路径,这样所有的MATLAB文件保存和读取都将从该路径下开始。在Windows平台下,MATLAB提供了一个路径:$matlabrootwork,在MATLAB首次启动时,就会使用该路径作为当前的工作路径。 注意: 对于Unix平台,将当前启动MATLAB的路径作为工作路径。,皖西学院数学系信息论教研室,启动时选择的工作路径是可以修改的,一般来说,可以利用MATLAB的Startup脚本文件完成,该脚本文件在MATLAB启动时自动被执行,可以将设置工作路径的指令(cd指令)添加到该文件中,则每次启动MATLAB

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1