1、第1章MATLAB软件认识及编程基础第1章 MATLAB软件认识及编程基础MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。在MATLAB中使用传统的编程语言(如C、C+和Fortran)能够更快地解决技术计算问题。其应用范围非常广,包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。MATLAB提供了很多用于记录和分享工作成果的功能,可以将MATLAB代码与其他语言和应用程序集成,来分发MATLA
2、B算法和应用。 1.1 MATLAB软件概述MATLAB是一种功能强大、运算效率极高的数值计算软件。最初,它是一种专门用于矩阵运算的软件,经过多年发展,MATLAB已经成为一种功能强大的软件,几乎可以解决科学计算中的任何问题。1.1.1 MATLAB的主要功能MATLAB是一种高级技术计算语言和交互式环境,具有如下主要功能。 此高级语言可用于技术计算。 此开发环境可对代码、文件和数据进行管理。 交互式工具可以按迭代的方式探查、设计及求解问题。 数学函数可用于线性代数、统计、傅里叶分析、筛选、优化以及数值积分等。 二维和三维图形函数可用于可视化数据。 各种工具可用于构建自定义的图形用户界面。 各
3、种函数可将基于MATLAB的算法与外部应用程序和语言(如COM、Microsoft Excel、C、C+、Fortran和Java)集成。1.1.2 MATLAB的优势与其他计算机高级语言相比,MATLAB有许多非常明显的优点,下面分别介绍。1友好的工作平台和编程环境MATLAB由一系列工具组成,这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用图形用户界面,包括MATLAB桌面和命令窗口、命令历史窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准
4、界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。2简单易用的程序语言MATLAB为一个高级的矩阵/阵列语言,具有控制语句、函数、数据结构、输入和输出以及面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的、复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书
5、写格式,更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。 3强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,之前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C+。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅里叶变换的复杂函数。函数
6、所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。4丰富的内部函数MATLAB的内部函数库提供了相当丰富的函数,这些函数可以解决许多基本问题,如矩阵的输入。要在其他语言(如C语言)中输入矩阵,先要编写一个矩阵的子函数,而MATLAB语言则提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不需作明确的维数说明。与利用C语言或Fortran语言编写数值计算的程序设计相比,利用MATLAB可以节省
7、大量的编程时间。这给用户节省了许多时间,使用户能够把自己的精力放在创造方面,而把繁琐的问题交给内部函数来解决。除了这些数量巨大的基本内部函数外,MATLAB还有为数不少的工具箱,用于解决某些特定领域的复杂问题。例如,使用Wavelet Toolbox进行小波理论分析,或者使用Financial Toolbox进行金融方面的问题研究等,同时,用户可以通过网络获取更多的MATLAB程序。1.1.3 MATLAB R2012a的新特点Release 2012a包括MATLAB、Simulink和Polyspace产品的新功能,以及对77种其他产品的更新和补丁修复。已经购买MathWorks软件维护服
8、务的用户可以下载产品更新。MATLAB重要功能的特点介绍如下。 MATLAB:统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能。 MATLAB Compiler:可以下载MATLAB Compiler Runtime(MCR),简化编译后的程序和组件的分发。 Image Processing Toolbox:通过亮度指标优化进行自动图像配准。 Statistics Toolbox:增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面。 System Identification Toolbox:识别连续时间传递函数。代码生成产品的特点介绍如下。 HDL Cod
9、er:可替代Simulink HDL Coder的新产品,添加了直接从MATLAB生成 HDL代码的功能。 HDL Verifier:可替代EDA Simulator Link的新产品,添加了Altera FPGA在环支持。 MATLAB Coder:可从用户定义的系统对象生成代码并自动生成动态共享库。 Embedded Coder:AUTOSAR 4.0兼容性,减少了数据副本,并通过Simulink Web视图实现代码生成报告的链接。用于在MATLAB和Simulink中进行设计的系统工具箱(System Toolbox)介绍如下。 Computer Vision System Toolbo
10、x:Viola-Jones对象检测、MSER特征检测和CAMShift跟踪。 Communications System Toolbox:USRP 无线电支持、LTE MIMO信道模型以及 LDPC、Turbo解码器和其他算法的GPU支持。Simulink重要功能的特点介绍如下。 Simulink:从目标硬件上的Simulink直接运行模型的能力。 SimMechanics:具有新的三维可视化功能的第二代多体建模和仿真技术。 Real-Time Windows Target:使用Simulink标准模式实时执行Windows中的模型。1.1.4 MATLAB的常用工具箱MATLAB包括数百个内
11、部函数的主包和三十几种工具箱。工具箱又可以分为功能工具箱和学科工具箱。功能工具箱具有扩充MATLAB的符号计算、可视化建模仿真、文字处理及实时控制等功能。学科工具箱是专业性比较强的工具箱,控制工具箱、信号处理工具箱和通信工具箱等都属于此类。 开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主工具箱和各种工具箱都是可读、可修改的文件,用户可通过对源程序的修改或加入自己编写的程序构造新的专用工具箱。 MATLAB的常用工具箱介绍如下。 Matlab Main ToolboxMATLAB主工具箱。 Control System Toolbox控制系统工具箱。 Communicatio
12、n Toolbox通信工具箱。 Financial Toolbox财政金融工具箱。 System Identification Toolbox系统辨识工具箱。 Fuzzy Logic Toolbox模糊逻辑工具箱。 Higher-Order Spectral Analysis Toolbox高阶谱分析工具箱。 Image Processing Toolbox图像处理工具箱。 Computer Vision System Toolbox计算机视觉系统工具箱。 LMI Control Toolbox线性矩阵不等式工具箱。 Model Predictive Control Toolbox模型预测控制
13、工具箱。 -Analysis and Synthesis Toolbox分析工具箱。 Neural Network Toolbox神经网络工具箱。 Optimization Toolbox优化工具箱。 Partial Differential Toolbox偏微分方程工具箱。 Robust Control Toolbox鲁棒控制工具箱。 Signal Processing Toolbox信号处理工具箱。 Spline Toolbox样条工具箱。 Statistics Toolbox统计工具箱。 Symbolic Math Toolbox符号数学工具箱。 Simulink Toolbox动态仿真
14、工具箱。 Wavelet Toolbox小波工具箱。 DSP System ToolboxDSP处理工具箱。1.2 MATLAB的安装及激活MATLAB R2012a与MATLAB R2008在安装与激活上方法基本相同,都增加了对MATLAB的激活环节。具体安装步骤如下:(1)将MATLAB R2012a的安装盘放入光盘驱动器,系统将自动运行程序,进入初始化界面,如图1-1所示。(2)启动安装程序后显示的安装界面如图1-2所示。选中“使用Internet安装”单选按钮,再单击【下一步】按钮。(3)弹出如图1-3所示的“许可协议”对话框,若同意MathWorks公司的安装许可协议,选中“是”单选
15、按钮,单击【下一步】按钮。 图1-1 MATLAB R2012a安装的初始化界面 图1-2 “MathWorks 安装程序”对话框图1-3 “许可协议”对话框(4)弹出如图1-4所示的“提供安装信息”对话框,输入软件外包装封面或安装许可文件内提供的密钥,单击【下一步】按钮。图1-4 “提供安装信息”对话框(5)若输入正确的密钥,系统将弹出如图1-5所示的“安装类型”对话框,可以选择“典型”或“自定义”安装类型。如果选择“典型”,MATLAB R2012a安装工具默认安装所有工具箱及组件,此时所需空间超过8GB。图1-5 “安装类型”对话框(6)默认安装路径为C:Program FilesMAT
16、LABR2012a。用户可以通过单击【浏览】按钮选择其他安装文件夹,如选择安装在F:MATLAB R2012a下,如果F盘下没有MATLAB R2012a文件夹,安装程序将自动建立,此时“选择文件夹”对话框的下部将显示安装硬盘剩余空间及软件安装所需空间大小。单击【下一步】按钮,如图1-6所示。图1-6 “选择文件夹”对话框(7)确定安装路径后,系统将弹出如图1-7所示的“确认”对话框,可以看到用户默认安装的MATLAB组件、安装文件夹等相关信息。单击【安装】按钮,安装开始。图1-7 “确认”对话框(8)软件在安装过程中将显示安装进度条,如图1-8所示。用户需要等待产品组件安装完成,同时可以查看
17、正在安装的产品组件及安装剩余的时间。安装完成后弹出如图1-9所示的“产品配置说明”对话框。图1-8 安装进度对话框(9)在安装完产品组件之后,MathWorks公司需要用户进行产品配置。在如图1-9所示的“产品配置说明”对话框中单击【下一步】按钮。图1-9 “产品配置说明”对话框(10)接着即完成MATLAB 2012a的安装,如图1-10所示。图1-10 完成MATLAB安装(11)完成MATLAB安装后,在MATLAB安装目录下的bin文件夹中,找到MATLAB .exe文件,双击该文件即可弹出MATLAB激活界面,如图1-11所示。图1-11 MATLAB激活界面(12)在图1-11中选
18、中“不使用Interent手动激活”单选按钮,即进入“登录或提供许可证文件”对话框,如图1-12所示,接着单击【下一步】按钮。图1-12 “登录或提供许可证文件”对话框(13)在弹出的“离线激活”对话框中,选中“输入许可证文件的完整路径(包括文件名)”单选按钮,再单击右侧的【浏览】按钮,找到许可证文件的完整路径,如图1-13所示。接着单击【下一步】按钮。图1-13 “离线激活”对话框(14)即可完成MATLAB R2012a的激活,效果如图1-14所示。图1-14 完成MATLAB激活界面至此即完成MATLAB R2012a的安装与激活,然后再双击MATLAB.exe文件,即可运行MATLAB
19、 R2012a。1.3 MATLAB的用户界面1.3.1 MATLAB的启动与退出MATLAB为用户提供了非常友好的工作环境,熟悉工作环境是使用MATLAB的基础。启动MATLABR R2012a有以下3种方法: 在系统桌面选择【开始】/【所有程序】/MATLAB R2012a命令。 双击桌面上的MATLAB快捷图标。 找到安装MATLAB的文件夹,双击MATLAB图标。MATLAB R2012a的工作界面如图1-15所示。图1-15 MATLAB的工作界面退出MATLAB系统有以下3种方法: 单击File菜单或按Alt+F组合键,选择Exit MATLAB命令。 单击窗口右上角的关闭图标。
20、按Ctrl+Q组合键。1.3.2 MATLAB的组成MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都在MATLAB的开发环境中实现。MATLAB的仿真工具Simulink、MATLAB的工具箱等其他附加功能的实现,也必须在MATLAB开发环境下。因此,掌握MATLAB的开发环境是掌握MATLAB语言的关键。首先启动MATLAB,将进入MATLAB的默认操作桌面,如图1-15所示。MATLAB的操作界面包括命令窗口(Command Window)、工作空间(Workspace)窗口、命令历史(Command History)窗口、当前文件夹(Current
21、Folder)窗口和主菜单。每个窗口的右上角都有4个按钮。当单击按钮时,可以使该窗口脱离操作桌面独立出来;当单击按钮时,可以关闭该窗口;当单击按钮时,可以最小化当前窗口;当单击按钮时,可以最大化当前窗口。也可以通过Desktop菜单来选择显示哪些窗口。MATLAB操作桌面上的菜单栏包括File(文件)、Edit(编辑)、Debug(调试)、Parallel(配置)、Desktop(操作桌面)、Window(窗口)和Help(帮助),它们的功能介绍如下。1File菜单图1-16 File菜单在菜单栏上选择File菜单,即弹出一个下拉菜单,如图1-16所示。菜单中各项的基本功能介绍如下。 New:
22、新建、图形窗口、MDL文件、变量窗口、GUI等。 Open:打开MATLAB所支持格式的文件。 Close Command Window:关闭命令窗口。 Import Data:导入数据。 Save Workspace As:将工作空间命令保存到文件中。 Page Setup:打印设置位置。 Set Path:调用路径浏览器。 Preferences:属性设置,选择该命令,系统弹出Preferences对话框,如图1-17所示,用户可在对话框中设置MATLAB R2012a的多项显示特性。 Print:打印。 Print Selection:打印选定的内容。 Exit MATLAB:退出MAT
23、LAB。图1-17 Preferences对话框2Edit菜单Edit菜单如图1-18所示,其中各项的基本功能如下。 Undo:取消输入。 Redo:重新输入。 Cut:剪切。 Copy:复制。 Paste:粘贴。 Paste to Workspace:将所复制的内容粘贴到工作空间中。 Select All:全选。 Delete:删除。 Find:寻找。 Find Files:在指定的文件或路径中寻找。 Clear Command Window:清除命令窗口中的显示。 Clear Command History:清除命令历史窗口中的显示。 Clear Workspace:清除工作空间变量。3D
24、ebug菜单Debug菜单如图1-19所示,其中各项的基本功能如下。 Open Files when Debugging:对打开的文件进行调试。 Step:单步执行。 Step In:进入执行。 Step Out:退出执行。 Continue:继续。 Clear Breakpoints in All Files:清除所有断点。 Stop if Errors/Warnings:错误或警告停止。 Exit Debug Mode:退出调试。 图1-18 Edit菜单 图1-19 Debug菜单4Parallel菜单Parallel菜单如图1-20所示,其中各项的基本功能如下。 图1-20 Paral
25、lel菜单Select Configuration:选择配置。 Manage Configurations:管理配置。5Desktop菜单Desktop菜单如图1-21所示,其中各项的基本功能如下。 Minimize Command Window:把命令窗口最小化。 Maximize Command Window:把命令窗口最大化。 Move Command Window:移除命令窗口。 Resize Command Window:调节命令窗口大小。 Undock Command Window:分离命令窗口(显示内容与当前活动窗口有关)。 Desktop Layout:桌面面板(标准、只有命令
26、窗口、用户定义等)。 Save Layout:保存当前面板。 Organize Layouts:组织面板。 Command Window:显示或隐藏命令窗口。 Command History:显示或隐藏命令历史窗口。 Workspace:显示或隐藏工作空间浏览器。 Help:显示或隐藏帮助。 Profiler:显示或隐藏性能分析器。 Editor:显示或隐藏编辑器。 Figures:显示或隐藏图形显示窗口。 Web Browser:打开网络浏览器。 Variable Editor:打开数组编辑器。 Comparison Tool:打开对照工具。 Toolbars:显示或隐藏工具栏。 Title
27、s:显示或隐藏窗体标题。图1-21 Desktop菜单6Window菜单Window菜单如图1-22所示,其中各项的基本功能如下。 Close All Documents:关闭所有的文档(MATLAB支持的文件)。 Next Tool:显示下一个工具。 Previous Tool:显示前一个工具。 Next Tab:显示下一个标签。 Previous Tab:显示前一个标签。 0 Command Window:默认命令窗口。 1 Command History:命令历史窗口。与当前打开的工具有关,这是默认桌面选择。 2 Current Folder:有效的工具(即让其处于活动状态)。 3 Wo
28、rkspace:工作空间浏览器。 4 Help:MATLAB联机帮助文档。7Help菜单Help菜单如图1-23所示,其中各项的基本功能如下。 Product Help:产品帮助。 Function Brower:函数浏览器。 Submit a MathWorks Support Request:向MathWorks提交请求支持。 Using the Desktop:打开桌面帮助。 Using the Command Window:打开命令窗口帮助。 Web Resources:网上资源。 Get Product Trials:获取产品试验。 Check for Updates:检测更新。 图
29、1-22 Window菜单 图1-23 Help菜单 Licensing:协议许可。 Terms of Use:使用条款。 Patents:使用专利。 Demos:打开演示窗口。 About MATLAB:显示MATLAB的版本及用户登记信息。1.3.3 工具栏MATLABR R2012a用户界面工具栏如图1-24所示,包含Windows窗口工具栏常用选项和MATLAB专用选项。Windows窗口工具栏常用选项主要具备文档操作功能,如文档的新建、打开、剪切、复制、粘贴、操作的撤销和再运行,如图1-25所示。图1-24 用户界面工具栏工具栏中的MATLAB专用选项如图1-26所示,其功能分别为打
30、开Simulink仿真页面、打开GUI页面、打开探测页面及打开帮助文档页面。 图1-25 Windows窗口工具栏常用选项 图1-26 工具栏中的MATLAB专用选项工具栏的右侧显示MATLAB的当前目录,单击下拉按钮可以浏览MATLAB的搜索路径,如图1-27所示。图1-27 当前目录和搜索路径1.3.4 命令窗口命令窗口(Command Window)保留了MATLAB传统版本的交互式操作功能。在MATLAB命令窗口中,可以直接输入命令或MATLAB函数,再按Enter键,则系统自动运行并显示反馈信息或结果。在命令窗口中,MATLAB的提示符“”,表示MATLAB处于就绪状态。【例1-1】在命令窗口中直接输入“4-3*cos(pi/5)”,并运行结果。其运行过程及结果如图1-28所示。图1-28 表达式运算过程及结果从图1-28中可以看到,ans是系统自动给出的,除了便于区别运算结果外,还可以作为变量使用。另外,百分号“%”表示注释,其后面的文字为语句注释。注释语句在MATLAB中不被执行。程序运行结束后,MATLAB的提示符“”不会消失,表示MATLAB仍处于就绪状态。如果将该表达式改为“4+3*cos(pi/5)”,则不必逐一重新输入,可以采用简便的操
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1