第1章MATLAB软件认识及编程基础.docx
《第1章MATLAB软件认识及编程基础.docx》由会员分享,可在线阅读,更多相关《第1章MATLAB软件认识及编程基础.docx(101页珍藏版)》请在冰豆网上搜索。
第1章MATLAB软件认识及编程基础
第1章MATLAB软件认识及编程基础
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
在MATLAB中使用传统的编程语言(如C、C++和Fortran)能够更快地解决技术计算问题。
其应用范围非常广,包括信号和图像处理、通信、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
MATLAB提供了很多用于记录和分享工作成果的功能,可以将MATLAB代码与其他语言和应用程序集成,来分发MATLAB算法和应用。
1.1MATLAB软件概述
MATLAB是一种功能强大、运算效率极高的数值计算软件。
最初,它是一种专门用于矩阵运算的软件,经过多年发展,MATLAB已经成为一种功能强大的软件,几乎可以解决科学计算中的任何问题。
1.1.1MATLAB的主要功能
MATLAB是一种高级技术计算语言和交互式环境,具有如下主要功能。
❑此高级语言可用于技术计算。
❑此开发环境可对代码、文件和数据进行管理。
❑交互式工具可以按迭代的方式探查、设计及求解问题。
❑数学函数可用于线性代数、统计、傅里叶分析、筛选、优化以及数值积分等。
❑二维和三维图形函数可用于可视化数据。
❑各种工具可用于构建自定义的图形用户界面。
❑各种函数可将基于MATLAB的算法与外部应用程序和语言(如COM、MicrosoftExcel、C、C++、Fortran和Java)集成。
1.1.2MATLAB的优势
与其他计算机高级语言相比,MATLAB有许多非常明显的优点,下面分别介绍。
1.友好的工作平台和编程环境
MATLAB由一系列工具组成,这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用图形用户界面,包括MATLAB桌面和命令窗口、命令历史窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
2.简单易用的程序语言
MATLAB为一个高级的矩阵/阵列语言,具有控制语句、函数、数据结构、输入和输出以及面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的、复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
3.强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,之前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅里叶变换的复杂函数。
函数所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
4.丰富的内部函数
MATLAB的内部函数库提供了相当丰富的函数,这些函数可以解决许多基本问题,如矩阵的输入。
要在其他语言(如C语言)中输入矩阵,先要编写一个矩阵的子函数,而MATLAB语言则提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不需作明确的维数说明。
与利用C语言或Fortran语言编写数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。
这给用户节省了许多时间,使用户能够把自己的精力放在创造方面,而把繁琐的问题交给内部函数来解决。
除了这些数量巨大的基本内部函数外,MATLAB还有为数不少的工具箱,用于解决某些特定领域的复杂问题。
例如,使用WaveletToolbox进行小波理论分析,或者使用FinancialToolbox进行金融方面的问题研究等,同时,用户可以通过网络获取更多的MATLAB程序。
1.1.3MATLABR2012a的新特点
Release2012a包括MATLAB、Simulink和Polyspace产品的新功能,以及对77种其他产品的更新和补丁修复。
已经购买MathWorks软件维护服务的用户可以下载产品更新。
MATLAB重要功能的特点介绍如下。
❑MATLAB:
统一了用于一维、二维与三维数值积分的函数并提升了基本数学和内插函数的性能。
❑MATLABCompiler:
可以下载MATLABCompilerRuntime(MCR),简化编译后的程序和组件的分发。
❑ImageProcessingToolbox:
通过亮度指标优化进行自动图像配准。
❑StatisticsToolbox:
增强了使用线性、广义线性和非线性回归进行拟合、预测和绘图的界面。
❑SystemIdentificationToolbox:
识别连续时间传递函数。
代码生成产品的特点介绍如下。
❑HDLCoder:
可替代SimulinkHDLCoder的新产品,添加了直接从MATLAB生成HDL代码的功能。
❑HDLVerifier:
可替代EDASimulatorLink的新产品,添加了AlteraFPGA在环支持。
❑MATLABCoder:
可从用户定义的系统对象生成代码并自动生成动态共享库。
❑EmbeddedCoder:
AUTOSAR4.0兼容性,减少了数据副本,并通过SimulinkWeb视图实现代码生成报告的链接。
用于在MATLAB和Simulink中进行设计的系统工具箱(SystemToolbox)介绍如下。
❑ComputerVisionSystemToolbox:
Viola-Jones对象检测、MSER特征检测和CAMShift跟踪。
❑CommunicationsSystemToolbox:
USRP无线电支持、LTEMIMO信道模型以及LDPC、Turbo解码器和其他算法的GPU支持。
Simulink重要功能的特点介绍如下。
❑Simulink:
从目标硬件上的Simulink直接运行模型的能力。
❑SimMechanics:
具有新的三维可视化功能的第二代多体建模和仿真技术。
❑Real-TimeWindowsTarget:
使用Simulink标准模式实时执行Windows中的模型。
1.1.4MATLAB的常用工具箱
MATLAB包括数百个内部函数的主包和三十几种工具箱。
工具箱又可以分为功能工具箱和学科工具箱。
功能工具箱具有扩充MATLAB的符号计算、可视化建模仿真、文字处理及实时控制等功能。
学科工具箱是专业性比较强的工具箱,控制工具箱、信号处理工具箱和通信工具箱等都属于此类。
开放性使MATLAB广受用户欢迎。
除内部函数外,所有MATLAB主工具箱和各种工具箱都是可读、可修改的文件,用户可通过对源程序的修改或加入自己编写的程序构造新的专用工具箱。
MATLAB的常用工具箱介绍如下。
❑MatlabMainToolbox——MATLAB主工具箱。
❑ControlSystemToolbox——控制系统工具箱。
❑CommunicationToolbox——通信工具箱。
❑FinancialToolbox——财政金融工具箱。
❑SystemIdentificationToolbox——系统辨识工具箱。
❑FuzzyLogicToolbox——模糊逻辑工具箱。
❑Higher-OrderSpectralAnalysisToolbox——高阶谱分析工具箱。
❑ImageProcessingToolbox——图像处理工具箱。
❑ComputerVisionSystemToolbox——计算机视觉系统工具箱。
❑LMIControlToolbox——线性矩阵不等式工具箱。
❑ModelPredictiveControlToolbox——模型预测控制工具箱。
❑μ-AnalysisandSynthesisToolbox——μ分析工具箱。
❑NeuralNetworkToolbox——神经网络工具箱。
❑OptimizationToolbox——优化工具箱。
❑PartialDifferentialToolbox——偏微分方程工具箱。
❑RobustControlToolbox——鲁棒控制工具箱。
❑SignalProcessingToolbox——信号处理工具箱。
❑SplineToolbox——样条工具箱。
❑StatisticsToolbox——统计工具箱。
❑SymbolicMathToolbox——符号数学工具箱。
❑SimulinkToolbox——动态仿真工具箱。
❑WaveletToolbox——小波工具箱。
❑DSPSystemToolbox——DSP处理工具箱。
1.2MATLAB的安装及激活
MATLABR2012a与MATLABR2008在安装与激活上方法基本相同,都增加了对MATLAB的激活环节。
具体安装步骤如下:
(1)将MATLABR2012a的安装盘放入光盘驱动器,系统将自动运行程序,进入初始化界面,如图1-1所示。
(2)启动安装程序后显示的安装界面如图1-2所示。
选中“使用Internet安装”单选按钮,再单击【下一步】按钮。
(3)弹出如图1-3所示的“许可协议”对话框,若同意MathWorks公司的安装许可协议,选中“是”单选按钮,单击【下一步】按钮。
图1-1MATLABR2012a安装的初始化界面图1-2“MathWorks安装程序”对话框
图1-3“许可协议”对话框
(4)弹出如图1-4所示的“提供安装信息”对话框,输入软件外包装封面或安装许可文件内提供的密钥,单击【下一步】按钮。
图1-4“提供安装信息”对话框
(5)若输入正确的密钥,系统将弹出如图1-5所示的“安装类型”对话框,可以选择“典型”或“自定义”安装类型。
如果选择“典型”,MATLABR2012a安装工具默认安装所有工具箱及组件,此时所需空间超过8GB。
图1-5“安装类型”对话框
(6)默认安装路径为C:
\ProgramFiles\MATLAB\R2012a。
用户可以通过单击【浏览】按钮选择其他安装文件夹,如选择安装在F:
\MATLABR2012a下,如果F盘下没有MATLABR2012a文件夹,安装程序将自动建立,此时“选择文件夹”对话框的下部将显示安装硬盘剩余空间及软件安装所需空间大小。
单击【下一步】按钮,如图1-6所示。
图1-6“选择文件夹”对话框
(7)确定安装路径后,系统将弹出如图1-7所示的“确认”对话框,可以看到用户默认安装的MATLAB组件、安装文件夹等相关信息。
单击【安装】按钮,安装开始。
图1-7“确认”对话框
(8)软件在安装过程中将显示安装进度条,如图1-8所示。
用户需要等待产品组件安装完成,同时可以查看正在安装的产品组件及安装剩余的时间。
安装完成后弹出如图1-9所示的“产品配置说明”对话框。
图1-8安装进度对话框
(9)在安装完产品组件之后,MathWorks公司需要用户进行产品配置。
在如图1-9所示的“产品配置说明”对话框中单击【下一步】按钮。
图1-9“产品配置说明”对话框
(10)接着即完成MATLAB2012a的安装,如图1-10所示。
图1-10完成MATLAB安装
(11)完成MATLAB安装后,在MATLAB安装目录下的bin文件夹中,找到MATLAB
.exe文件,双击该文件即可弹出MATLAB激活界面,如图1-11所示。
图1-11MATLAB激活界面
(12)在图1-11中选中“不使用Interent手动激活”单选按钮,即进入“登录或提供许可证文件”对话框,如图1-12所示,接着单击【下一步】按钮。
图1-12“登录或提供许可证文件”对话框
(13)在弹出的“离线激活”对话框中,选中“输入许可证文件的完整路径(包括文件名)”单选按钮,再单击右侧的【浏览】按钮,找到许可证文件的完整路径,如图1-13所示。
接着单击【下一步】按钮。
图1-13“离线激活”对话框
(14)即可完成MATLABR2012a的激活,效果如图1-14所示。
图1-14完成MATLAB激活界面
至此即完成MATLABR2012a的安装与激活,然后再双击MATLAB.exe文件,即可运行MATLABR2012a。
1.3MATLAB的用户界面
1.3.1MATLAB的启动与退出
MATLAB为用户提供了非常友好的工作环境,熟悉工作环境是使用MATLAB的基础。
启动MATLABRR2012a有以下3种方法:
❑在系统桌面选择【开始】/【所有程序】/MATLABR2012a命令。
❑双击桌面上的MATLAB快捷图标。
❑找到安装MATLAB的文件夹,双击MATLAB图标。
MATLABR2012a的工作界面如图1-15所示。
图1-15MATLAB的工作界面
退出MATLAB系统有以下3种方法:
❑单击File菜单或按Alt+F组合键,选择ExitMATLAB命令。
❑单击窗口右上角的关闭图标。
❑按Ctrl+Q组合键。
1.3.2MATLAB的组成
MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都在MATLAB的开发环境中实现。
MATLAB的仿真工具Simulink、MATLAB的工具箱等其他附加功能的实现,也必须在MATLAB开发环境下。
因此,掌握MATLAB的开发环境是掌握MATLAB语言的关键。
首先启动MATLAB,将进入MATLAB的默认操作桌面,如图1-15所示。
MATLAB的操作界面包括命令窗口(CommandWindow)、工作空间(Workspace)窗口、命令历史(CommandHistory)窗口、当前文件夹(CurrentFolder)窗口和主菜单。
每个窗口的右上角都有4个按钮。
当单击
按钮时,可以使该窗口脱离操作桌面独立出来;当单击
按钮时,可以关闭该窗口;当单击
按钮时,可以最小化当前窗口;当单击
按钮时,可以最大化当前窗口。
也可以通过Desktop菜单来选择显示哪些窗口。
MATLAB操作桌面上的菜单栏包括File(文件)、Edit(编辑)、Debug(调试)、Parallel(配置)、Desktop(操作桌面)、Window(窗口)和Help(帮助),它们的功能介绍如下。
1.File菜单
图1-16File菜单
在菜单栏上选择File菜单,即弹出一个下拉菜单,如图1-16所示。
菜单中各项的基本功能介绍如下。
❑New:
新建、图形窗口、MDL文件、变量窗口、GUI等。
❑Open:
打开MATLAB所支持格式的文件。
❑CloseCommandWindow:
关闭命令窗口。
❑ImportData:
导入数据。
❑SaveWorkspaceAs:
将工作空间命令保存到文件中。
❑PageSetup:
打印设置位置。
❑SetPath:
调用路径浏览器。
❑Preferences:
属性设置,选择该命令,系统弹出Preferences对话框,如图1-17所示,用户可在对话框中设置MATLABR2012a的多项显示特性。
❑Print:
打印。
❑PrintSelection:
打印选定的内容。
❑ExitMATLAB:
退出MATLAB。
图1-17Preferences对话框
2.Edit菜单
Edit菜单如图1-18所示,其中各项的基本功能如下。
❑Undo:
取消输入。
❑Redo:
重新输入。
❑Cut:
剪切。
❑Copy:
复制。
❑Paste:
粘贴。
❑PastetoWorkspace:
将所复制的内容粘贴到工作空间中。
❑SelectAll:
全选。
❑Delete:
删除。
❑Find:
寻找。
❑FindFiles:
在指定的文件或路径中寻找。
❑ClearCommandWindow:
清除命令窗口中的显示。
❑ClearCommandHistory:
清除命令历史窗口中的显示。
❑ClearWorkspace:
清除工作空间变量。
3.Debug菜单
Debug菜单如图1-19所示,其中各项的基本功能如下。
❑OpenFileswhenDebugging:
对打开的文件进行调试。
❑Step:
单步执行。
❑StepIn:
进入执行。
❑StepOut:
退出执行。
❑Continue:
继续。
❑ClearBreakpointsinAllFiles:
清除所有断点。
❑StopifErrors/Warnings:
错误或警告停止。
❑ExitDebugMode:
退出调试。
图1-18Edit菜单图1-19Debug菜单
4.Parallel菜单
Parallel菜单如图1-20所示,其中各项的基本功能如下。
❑
图1-20Parallel菜单
SelectConfiguration:
选择配置。
❑ManageConfigurations:
管理配置。
5.Desktop菜单
Desktop菜单如图1-21所示,其中各项的基本功能如下。
❑MinimizeCommandWindow:
把命令窗口最小化。
❑MaximizeCommandWindow:
把命令窗口最大化。
❑MoveCommandWindow:
移除命令窗口。
❑ResizeCommandWindow:
调节命令窗口大小。
❑UndockCommandWindow:
分离命令窗口(显示内容与当前活动窗口有关)。
❑DesktopLayout:
桌面面板(标准、只有命令窗口、用户定义等)。
❑SaveLayout:
保存当前面板。
❑OrganizeLayouts:
组织面板。
❑CommandWindow:
显示或隐藏命令窗口。
❑CommandHistory:
显示或隐藏命令历史窗口。
❑Workspace:
显示或隐藏工作空间浏览器。
❑Help:
显示或隐藏帮助。
❑Profiler:
显示或隐藏性能分析器。
❑Editor:
显示或隐藏编辑器。
❑Figures:
显示或隐藏图形显示窗口。
❑WebBrowser:
打开网络浏览器。
❑VariableEditor:
打开数组编辑器。
❑ComparisonTool:
打开对照工具。
❑Toolbars:
显示或隐藏工具栏。
❑Titles:
显示或隐藏窗体标题。
图1-21Desktop菜单
6.Window菜单
Window菜单如图1-22所示,其中各项的基本功能如下。
❑CloseAllDocuments:
关闭所有的文档(MATLAB支持的文件)。
❑NextTool:
显示下一个工具。
❑PreviousTool:
显示前一个工具。
❑NextTab:
显示下一个标签。
❑PreviousTab:
显示前一个标签。
❑0CommandWindow:
默认命令窗口。
❑1CommandHistory:
命令历史窗口。
与当前打开的工具有关,这是默认桌面选择。
❑2CurrentFolder:
有效的工具(即让其处于活动状态)。
❑3Workspace:
工作空间浏览器。
❑4Help:
MATLAB联机帮助文档。
7.Help菜单
Help菜单如图1-23所示,其中各项的基本功能如下。
❑ProductHelp:
产品帮助。
❑FunctionBrower:
函数浏览器。
❑SubmitaMathWorksSupportRequest:
向MathWorks提交请求支持。
❑UsingtheDesktop:
打开桌面帮助。
❑UsingtheCommandWindow:
打开命令窗口帮助。
❑WebResources:
网上资源。
❑GetProductTrials:
获取产品试验。
❑CheckforUpdates:
检测更新。
图1-22Window菜单图1-23Help菜单
❑Licensing:
协议许可。
❑TermsofUse:
使用条款。
❑Patents:
使用专利。
❑Demos:
打开演示窗口。
❑AboutMATLAB:
显示MATLAB的版本及用户登记信息。
1.3.3工具栏
MATLABRR2012a用户界面工具栏如图1-24所示,包含Windows窗口工具栏常用选项和MATLAB专用选项。
Windows窗口工具栏常用选项主要具备文档操作功能,如文档的新建、打开、剪切、复制、粘贴、操作的撤销和再运行,如图1-25所示。
图1-24用户界面工具栏
工具栏中的MATLAB专用选项如图1-26所示,其功能分别为打开Simulink仿真页面、打开GUI页面、打开探测页面及打开帮助文档页面。
图1-25Windows窗口工具栏常用选项图1-26工具栏中的MATLAB专用选项
工具栏的右侧显示MATLAB的当前目录,单击下拉按钮可以浏览MATLAB的搜索路径,如图1-27所示。
图1-27当前目录和搜索路径
1.3.4命令窗口
命令窗口(CommandWindow)保留了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)”,则不必逐一重新输入,可以采用简便的操