MATLAB基础教程(第4版)_第1页
MATLAB基础教程(第4版)_第2页
MATLAB基础教程(第4版)_第3页
MATLAB基础教程(第4版)_第4页
MATLAB基础教程(第4版)_第5页
已阅读5页,还剩721页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章MATLABR2015b环境1.1

MATLAB简介1.2

MATLABR2015b的环境设置1.3常用窗口1.4

MATLABR2015b其他管理1.5

一个实例1.1MATLAB简介MATLAB是MATLAB产品家族的基础,数学运算功能强大,如矩阵运算、数值分析算法。MATLAB集成了二维和三维图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言—M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。MATLABCompiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言—M语言编写的函数文件编译生成函数库、可执行文件COM组件等,使MATLAB能够同其他高级编程语言,如C/C++语言,进行混合应用,以提高程序的运行效率。1.1.1MATLAB工具箱MATLAB有以下主要的工具箱。(1)控制系统工具箱(ControlSystemToolbox):主要应用于连续系统设计和离散系统设计,传递函数和状态空间模型建立,模型转换,方程求解,频域响应,时域响应,根轨迹分析,增益选择,极点分配等。(2)信号处理工具箱(SignalProcessingToolbox):主要应用于数字和模拟滤波器设计,应用及仿真,参数化模型,谱分析和估计,FFT变换,DCT变换等。(3)神经网络工具箱(NeuralNetworkToolbox):主要应用于BP网络,Hopfield、Kohonen网络,径向基函数网络,竞争、线性、Sigmoidal等传递函数,前馈、递归等网络结构,性能分析及应用,自组织网络等。(4)模糊逻辑控制工具箱(FuzzyLogicToolbox):主要应用于友好的交互设计界面,自适应神经—模糊学习、聚类及Sugeno推理,支持Simulink动态仿真,可生成C语言源代码等。1.1.1MATLAB工具箱(5)图像处理工具箱(ImageProcessingToolbox):主要应用于二维滤波器设计和滤波输入,图像恢复增强,色彩、集合及形态操作,二维变换,图像分析和统计等。(6)优化工具箱(OptimizationToolbox):主要应用于线性规划和二次规划,求函数的最大值和最小值,多目标优化,约束条件下的优化,非线性方程求解等。(7)统计工具箱(StatisticsToolbox):主要应用于概率分布和随机数生成,多变量分析,回归分析,主极分析,假设检验等。(8)符号数学工具箱(SymbolicMathToolbox):主要实现符号运算,包括极限、微积分、符号方程等。1.1.2MATLAB功能和特点1.功能强大(1)运算功能强大。MATLAB是以复数矩阵为基本编程单元的程序设计语言,其强大的运算功能使其成为世界顶尖的数学应用软件之一。(2)功能丰富的工具箱。大量针对各专业应用的工具箱的提供,使MATLAB适用于不同领域。(3)文字处理功能强大。MATLAB的Notebook为用户提供了强大的文字处理功能,允许用户从Word访问MATLAB的数值计算和可视化结果。通过使用MATLAB的Notebook,用户可以创建MATLAB的程序文档、技术报告、注释文档、手册或教科书。1.1.2MATLAB功能和特点2.人机界面友好,编程效率高MATLAB的语言规则与笔算式相似,矩阵的行列数无须定义,MATLAB的命令表达方式与标准的数学表达式非常相近,易写、易读并易于在科技人员之间交流。3.强大而智能化的作图功能MATLAB可以方便地将工程计算的结果可视化,使原始数据的关系更加清晰明了,并揭示数据间的内在联系。MATLAB能够根据输入数据自动确定最佳坐标,可规定多种坐标系(如极坐标系、对数坐标系等),可设置不同颜色、线型、视角等,并能绘制三维坐标中的曲线和曲面。4.可扩展性强MATLAB软件包括基本部分和工具箱两大部分,具有良好的可扩展性。MATLAB的函数大多为ASCII文件,可以直接编辑和修改。MATLAB的工具箱可以任意增减。5.Simulink动态仿真功能MATLAB的Simulink提供了动态仿真的功能,用户通过绘制框图模拟线性、非线性、连续或离散的系统,通过Simulink能够仿真并分析该系统。1.2MATLABR2015b的环境设置1.2.1MATLAB的集成开发环境MATLABR2015b版的界面操作非常方便,提供了多文档管理,是数据分析和算法的交互式开发环境。MATLABR2015b版启动后的运行界面称为MATLAB操作窗口,默认的操作窗口如图1.1所示。1.2.2工具栏1.HOME页工具栏在工具栏中提供了一系列的菜单和工具按钮,工具栏根据不同的功能分了六个区,分别是“FILE”、“VARIABLE”、“CODE”、“SIMULINK”、“ENVIRONMENT”和“RESOURCES”。工具栏如图1.2所示。1.2.2工具栏(1)“FILE”区工具栏“FILE”区用于对文件进行操作,工具栏中各按钮的常用功能如表1.1所示。下拉菜单功能NewScript新建一个M脚本文件,打开M文件编辑/调试器Function新建一个M函数文件,打开M文件编辑/调试器并预先编写函数声明行

Example新建一个M脚本文件的例子,并添加单元

Class新建一个类,打开M文件编辑/调试器SystemObject新建一个系统对象,包括:Basic、Advanced和SimulinkExtension,打开M文件编辑/调试器Figure新建一个图形,打开图形窗口GraphicalUserInterface新建一个图形用户设计界面(GUI)CommandShortcut新建一个命令快捷方式SimulinkModel新建一个仿真模型StateflowChart新建一个流程表SimulinkProject新建一个Simulink项目NewScript新建一个M脚本文件,打开M文件编辑/调试器Open…打开已有文件FindFiles打开查找文件对话框查找文件Compare比较两个文件的内容1.2.2工具栏(2)“VARIABLE”区工具栏“VARIABLE”区工具栏主要是对变量的操作,各按钮的常用功能如表1.2所示。下拉菜单功能SaveWorkspace使用二进制的MAT文件保存工作空间的内容NewVariable创建新变量OpenVariable打开工作空间中已经创建的变量,单击下拉箭头选择工作空间的变量ClearVariable清空工作空间的变量,单击下拉箭头选择变量和函数1.2.2工具栏(3)“CODE”区工具栏“CODE”区工具栏主要是对程序代码的操作,各按钮的对应常用功能如表1.3所示。下拉菜单功能ImportData导入其他文件的数据AnalyzeCode代码分析RunandTime程序运行时间,查看每句程序的运行时间ClearCommand清除CommandWindow和CommandHistory窗口1.2.2工具栏(4)“SIMULINK”区工具栏“SIMULINK”区工具栏只有一个“SimulinkLibrary”按钮,打开Simulink界面。(5)“ENVIRONMENT”区工具栏“ENVIRONMENT”区工具栏主要进行界面的环境设置,各按钮的常用功能如表1.4所示。下拉菜单功能Layout设置布局,有两栏,一栏是“SelectLayout”选择不见的格式,另一栏“SHOW”是选择需要打开的窗口Preferences设置MATLAB工作环境外观和操作的相关属性等参数SetPath设置搜索路径Parallel并行运算管理,对分布式运算任务进行设置和管理Add-Ons管理插入的工具和应用(6)“RESOURCES”区工具栏“RESOURCES”区工具栏主要是对MATLAB的资源管理,包括帮助资料“Help”、网上社区资料“Community”和需求支持资料“RequestSupport”。1.2.2工具栏2.绘图面板工具栏在图1.1中选择面板“PLOTS”则切换到绘图面板,当工作空间创建了变量“a”时工具栏如图1.3所示。1.2.2工具栏(1)“SELECTION”区在工作空间中选择需要绘图的变量,可以是一个或多个变量,图中选择变量“a”。(2)“PLOTSa”区根据“SELECTION”区选择的变量,显示不同的绘图类型,在图中根据变量“a”显示的绘图类型包括二维曲线plot,也包括特殊图形bar、area、pie、histogram、semilogx、semilogy、loglog、comet、stem、stairs和barh等,单击向下的箭头还可以打开更多的图形类型选择。(3)“OPTIONS”区“OPTIONS”区有两个选择“ReuseFigure”和“NewFigure”。1.2.2工具栏3.应用软件面板工具栏在图1.1中选择面板“APPS”则切换到应用软件面板,工具栏如图1.4所示,分成两个区,分别是“FILE”和“APPS”。1.2.2工具栏(1)“FILE”区主要是对MATLAB应用软件的操作,有三个按钮分别是“GetMoreApps”、“InstallApp”和“PackageApp”,选择“GetMoreApps”时打开“Add-onExplorer”窗口,可以查找App,窗口如图1.5所示。1.2.2工具栏(2)“APPS”区“APPS”区是常用的App工具,当单击下拉箭头时出现分类的各种App,如图1.6所示。1.3常用窗口1.3.1命令窗口(CommandWindow)在命令窗口右侧单击下拉箭头

,出现对命令窗口操作的快捷菜单,如图1.7所示。1.3.1命令窗口(CommandWindow)从上图的快捷菜单中可以选择菜单“Undock”,或是直接拖曳命令窗口离开操作界面都会出现如图1.8所示单独的命令窗口。1.3.1命令窗口(CommandWindow)单击命令窗口右上角的下拉箭头,选择菜单“Dock”可使单独的命令窗口返回MATLAB界面。其他各窗口都同样具有单独窗口的功能。(1)命令行的显示方式。MATLAB运行时,命令窗口中的每个命令行前会出现提示符“>>”。命令窗口内显示的字符和数值采用不同的颜色,在默认情况下,输入的命令、表达式及计算结果等采用黑色字体;字符串采用赭红色;“if”、“for”等关键词采用蓝色。【例1.1】

在命令窗口中输入不同的数值和语句,并查看其显示方式。>>a=12.5a=12.5000>>b='Hello'b=Hello>>ifa>0c=5,endc=51.3.1命令窗口(CommandWindow)(2)命令窗口中命令行的编辑。由于MATLAB把命令窗口中输入的所有命令都记录在内存中专门的“历史命令(CommandHistory)”空间中,因此MATLAB命令窗口不仅可以对输入的命令进行编辑和运行,而且还可以对已输入的命令进行回调、编辑和重运行。命令窗口中行编辑的常用操作键如表1.4所示。键名作用键名作用↑向前调回已输入过的命令行Home使光标移到当前行的开头↓向后调回已输入过的命令行End使光标移到当前行的末尾←在当前行中左移光标Delete删去光标右边的字符→在当前行中右移光标Backspace删去光标左边的字符PageUp向前翻阅当前窗口中的内容Esc清除当前行的全部内容PageDown向后翻阅当前窗口中的内容Ctrl+C中断MATLAB命令的运行1.3.1命令窗口(CommandWindow)(3)命令窗口中的标点符号。MATLAB常用标点符号的功能如表1.5所示。名称符号功能空格

作为输入变量之间的分隔符及数组行元素之间的分隔符逗号,作为要显示计算结果的命令之间的分隔符;作为输入变量之间的分隔符;作为数组行元素之间的分隔符点号.作为数值中的小数点分号;作为不显示计算结果命令行的结尾;作为不显示计算结果命令之间的分隔符;作为数组元素行之间的分隔符冒号:用于生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素百分号%用于注释的前面,在它后面的命令不需要执行单引号‘’用于括住字符串圆括号()用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序方括号[]用于构成向量和矩阵;用于函数输出列表花括号{}用于构成元胞数组下划线_用于1个变量、函数或文件名中的连字符续行号…用于把后面的行与该行连接以构成一个较长的命令“At”号@用于放在函数名前形成函数句柄;用于放在目录名前形成用户对象类目录1.3.1命令窗口(CommandWindow)【例1.2】

在命令窗口中使用不同的标点符号。>>a=12.5,b='Hello' %逗号表示分隔命令,单引号构成字符串,点号为小数点a=12.5000b=Hello>>c=[12;34;56] %[]表示构成矩阵,分号用来分隔行,空格用来分隔元素c=123456>>d=a*… %…表示续行cd=12.500025.000037.500050.000062.500075.00001.3.1命令窗口(CommandWindow)(4)数值计算结果的显示格式及设置。在命令窗口中,默认情况下数值计算结果的显示格式为:当数值为整数,以整数显示;当数值为实数,以小数后4位的精度近似显示,即以“短(Short)”格式显示;如果数值的有效数字超出了这一范围,则以科学计数法显示结果。1.3.1命令窗口(CommandWindow)用户可以根据需要,对命令窗口的字体风格、大小、颜色和数值计算结果的显示格式进行设置。设置方法有以下2种。①在MATLAB的界面选择工具栏中“Preferences”按钮,则会出现参数设置对话框,如图1.9所示;在对话框的左栏选中“CommandWindow”项,在右边的“Numericformat”栏设置数据的显示格式。1.3.1命令窗口(CommandWindow)②还可以直接在命令窗口中通过输入“format”命令进行数值显示格式的设置。语法:format 格式描述MATLAB的数值显示的format格式如表1.6所示。命令格式含义例子formatformatshort(默认)通常保证小数点后4位有效;大于1000的实数,用5位有效数字的科学计数法显示314.159显示为314.15903141.59显示为3.1416e+003formatshorte5位科学计数法表示

显示为3.1416e+000formatshortg从formatshort和formatshorte中自动选择最佳计数方式

显示为3.1416formatlong15位数字表示

显示为3.14159265358979formatlonge15位科学计数法表示

显示为3.141592653589793e+000formatshorteng工程短格式,最少5个数字和3位指数

显示为3.1416e+000formatlongg从formatlong和formatlonge中自动选择最佳计数方式

显示为3.1415926358979formatlongeng工程长格式,最少16个有效数字和3位指数

显示为3.14159265358979e+000formathex十六进制表示

显示为400921fb54442dl8format+正数、负数、零分别用

、

、空格显示

显示为+formatbank表示(金融)元、角、分

显示为3.14formatrational近似有理数表示

显示为355/113formatcompact结果之间显示为没有空行的压缩格式

formatloose结果之间显示为有空行的稀疏格式

1.3.1命令窗口(CommandWindow)(5)命令窗口的清空命令。clc:用于清空命令窗口中的所有显示内容,清空后命令窗口就是空白了。1.3.2当前目录浏览器窗口(CurrentFolder)当前目录浏览器窗口默认地出现在MATLAB界面(如图1.1所示)左侧,用来设置当前目录,可以随时显示当前目录下所有文件的信息,当前目录浏览器窗口如图1.10所示,在下面的文件细节栏可以看到M文件的开头注释行,可以看出不同文件的图标不同,并可以复制、编辑和运行M文件及装载MAT数据文件。1.3.2当前目录浏览器窗口(CurrentFolder)(1)当前目录的设置。在MATLAB环境中,如果不特别指明存放数据和文件的目录,则MATLAB默认地将它们存放在当前目录上。用户应把自己的目录设置成为当前目录。把用户目录设置成为当前目录的方法有2种。①在当前目录设置区设置。在图1.10中或MATLAB界面(图1.1)工具栏的右侧都有当前目录设置区,可以在“设置栏”中直接填写待设置的目录名,或像资源管理器一样选择待设置目录。②通过命令设置。使用“cd”命令设置当前目录。语法:cd %显示当前目录cd目录 %指定当前目录cd… %指定上一级目录为当前目录例如,要设置当前目录为“c:\MyDir”:>>cdc:\MyDir1.3.2当前目录浏览器窗口(CurrentFolder)(2)文件快捷菜单的使用。单击选择一个文件,单击鼠标右键出现快捷菜单,主要应用功能和操作方法如表1.7所示。菜单命令功能操作方法Open打开M文件选择待运行M文件,单击鼠标右键,在快捷菜单中选择“Open”,则M文件出现在M文件编辑/调试器窗口中或者双击该M文件,也可打开文件Hidedetails隐藏文件细节将目录浏览器窗口下面的文件细节栏关闭Run运行M文件选择待运行文件,单击鼠标右键,在快捷菜单中选择“Run”运行M文件RunScriptasBatchJob运行脚本文件作为批量工作选择脚本文件在工作空间生成批量工作的jobViewHelp查看帮助查看文件的帮助信息,显示在M文件的开头行注释ShowinExplorer在资源管理器显示打开资源管理器,在其中显示文件CreateZipFile生成zip文件和将zip文件解压缩选择一个或多个文件,单击鼠标右键在快捷菜单中选择“CreateZipFile”,可以生成压缩文件;选择zip文件,在快捷菜单中选择“Extract”来解压缩文件CompareAgainst比较文件或文件夹可以选择两个文件或两个文件,单击鼠标右键在快捷菜单中选择“CompareSelectedFiles”,可以比较两个文件的不同1.3.2当前目录浏览器窗口(CurrentFolder)例如,在“CurrentFolder”窗口中选择【例1.1】保存的文件名“Ex0101”,单击鼠标右键选择“CompareAgainst”→“Choose”,选择【例1.2】的文件“Ex0102”,然后单击“Compare”按钮,则打开“FilesandFoldersComparisons”窗口,如图1.11所示,显示出两个文件的匹配情况。1.3.3工作空间窗口(Workspace)工作空间窗口(又称为内存窗口)默认地出现在MATLAB界面(如图1.1所示)的右边,用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。在该窗口中,还可以对变量进行观察、编辑、提取和保存。例如,在命令窗口输入:>>a=12.5>>b='Hello'>>c=[12;34;56]如图1.12所示为工作空间窗口,单击鼠标右键,在快捷菜单中选择“ChooseColumns”的所有选项,在图中显示了三个变量a、b、c的名称、大小、字节数、类型、最小值、最大值、范围、中间值、出现频率、方差和均方差的所有信息。

1.3.3工作空间窗口(Workspace)图1.12工作空间窗口1.3.3工作空间窗口(Workspace)(1)当前目录工作空间窗口中变量的操作。对当前目录工作空间窗口中的变量可以进行多种操作,操作方法如表1.8所示。菜单命令操作和功能New新建变量,默认变量名为“Unamed”Save保存变量,保存工作空间的所有变量到MAT文件ClearWorkspace删除全部内存变量Refresh刷新变量内容ChooseColumns选择需要显示的变量信息,包括名称、大小、字节数、类型、最小值、最大值、范围、中间值、出现频率、方差和均方差的所有信息Sortby对变量进行排序,可以根据名称、大小、字节数、类型、最小值、最大值、范围、中间值、出现频率、方差和均方差排序,并可以选择升序和降序1.3.3工作空间窗口(Workspace)(2)通过命令管理变量。①把工作空间中的数据存放到MAT数据文件。语法:saveFileName变量1变量2…参数 %将变量保存到文件中save(FileName,变量1,变量2)说明:FileName为MAT文件名;变量1、变量2可以省略,省略时则保存工作空间的所有变量;参数为保存的方式,有-ASCII、-append等方式。例如:>>saveFileName1 %把全部内存变量保存为FileName1.mat文件>>saveFileName2ab %把变量a、b保存为FileName2.mat文件>>saveFileName3ab-append %把变量a、b添加到FileName3.mat文件中1.3.3工作空间窗口(Workspace)②从数据文件中取出变量存放到工作空间。语法:loadFileName变量1变量2…说明:变量1、变量2可以省略,省略时则装载所有变量。例如:>>loadFilename1 %把FileName1.mat文件中的全部变量装入内存>>loadFileName2ab %把FileName2.mat文件中的a、b变量装入内存

③查阅MATLAB内存变量名。语法:who例如,查阅工作空间中的a、b、c这3个变量:>>whoYourvariablesare:abc1.3.3工作空间窗口(Workspace)④查阅MATLAB内存变量的变量名、大小、类型和字节数。语法:whos例如:>>whosNameSizeByteClassa1x18doublearrayb1x510chararrayc3x248doublearrayGrandtotalis12elementsusing66bytes1.3.3工作空间窗口(Workspace)⑤删除工作空间中的变量。语法:clear %删除内存中的所有变量clear变量名1变量名2… %删除内存中的多个变量例如,在工作空间中删除变量a:>>cleara>>whoYourvariablesare:bc当执行M文件结束后,如果再次执行,则经常需要使用clear命令清除在工作空间中的变量。1.3.4历史命令窗口(CommandHistory)在界面中选择工具栏“Layout”→CommandHistory→Docked,可以选择打开历史命令窗口,如图1.13所示。历史命令窗口包括:每次开启MATLAB的时间和每次开启后在命令窗口中运行过的所有命令行。图中命令前面红色的表示出错的程序。1.3.4历史命令窗口(CommandHistory)在历史命令窗口中选择命令行,单击鼠标右键,则弹出快捷菜单,主要功能如表1.9所示。下拉菜单主要功能操作方法EvaluateSelection单行或多行命令的运行选中单行或多行命令,选择“EvaluateSelection”菜单,就可在命令窗口中运行,并得出相应结果;或者双击选择的命令行也可运行

CreateScript把多行命令写成M文件选中单行或多行命令,选择“CreateScript”菜单,打开M文件编辑器窗口并将这些命令行写入CreateShortcut将命令行创建快捷方式选中单行或多行命令,选择“CreateShortcut”菜单,打开“ShortcutEditor”窗口,可以创建快捷方式Clear\SetErrorIndicator设置或清除错误标志选中单行或多行命令,选择“ClearErrorIndicator”菜单,将错误行前面的标志清除1.3.4历史命令窗口(CommandHistory)例如,复制和运行如图1.14所示历史命令窗口中的命令。在历史命令窗口中,先用鼠标选择“ifa>0c=5,end”命令,单击鼠标右键,选择“CreateShortcut”菜单,则出现“ShortcutEditor”窗口,如图1.14所示。1.3.5变量编辑器窗口(VariableEditor)如图1.15所示为变量“c=[12;34;56]”出现在“VariableEditor”变量编辑器窗口的情形。1.3.5变量编辑器窗口(VariableEditor)图中有三个面板,在“VARIABLE”面板中可以在变量中插入行、列,也可以单击“Transpose”按钮进行转置,可以对变量进行以下编辑和修改,甚至可以更改数据结构和显示方式;在“PLOTS”面板中可以对变量的全部数据和部分数据进行绘图;在“VIEW”面板中可以查看不同的变量显示格式。(1)在“VIEW”面板中的“NumberDisplayformat”栏中改变变量的显示类型。(2)在“VARIABLE”面板中选择“Insert”按钮增加数组的行列。(3)逐格修改数组中的元素值。1.3.5变量编辑器窗口(VariableEditor)在图1.15中选择所有的元素,在“PLOTS”面板中单击工具栏的按钮,则会出现如图1.16所示的波形图。1.3.6M文件编辑/调试器窗口(Editor/Debugger)在默认情况下,M文件编辑/调试器窗口不随MATLAB界面的出现而启动。只有需要编写M文件(扩展名为.m)时,才启动该窗口。如图1.17所示为M文件编辑/调试器窗口。1.3.6M文件编辑/调试器窗口(Editor/Debugger)M文件编辑/调试器窗口的启动方法有以下几种。(1)单击MATLAB界面上的

图标,或者选择工具栏“NewScript”按钮,可打开空白的M文件编辑器。(2)单击MATLAB界面上的

图标,或者选择工具栏“New”按钮,在下拉菜单中选择“Script”,就可出现相应的M文件编辑器。(3)用鼠标双击当前目录窗口中的M文件(扩展名为.m),可直接打开相应文件的M文件编辑器。1.3.7代码分析报告窗口(CodeAnalyzerReporter)代码分析报告窗口是对MATLAB的当前目录下的M文件进行分析,报告中列出一些错误和可以提高程序性能的警告,如图1.18所示为可以看到对M文件的相应行显示出提示信息。1.3.8程序运行时间窗口(Profiler)图1.1的MATLAB界面中,选择工具栏的“RunandTime”按钮;或在命令窗口输入“profileviewer”;就可以独立出现程序性能剖析窗口,查看M文件“Ex0101.m”的运行时间,以便提高运行速度,单击“Ex0101”可以看到每行命令的运行时间,如图1.19所示。1.3.9MATLABR2015b帮助1.帮助窗口打开帮助窗口,如图1.20所示的帮助窗口界面由左侧目录和右侧的帮助浏览器两部分组成,在右侧的帮助浏览器中选择不同的内容打开,也可以上网

/help查找帮助信息。1.3.9MATLABR2015b帮助(1)左侧的目录包括:所有产品、安装、发行说明和其他版本,用鼠标单击目录,在左边的帮助浏览器中就会显示出相应的帮助内容。“所有产品”是对应的MATLAB产品族所有内容,包括各种工具箱;“其它版本”是上网打开MATLAB以前对应所有版本的帮助内容。(2)右侧的帮助浏览器可以进入不同产品的具体帮助信息,对应左侧的目录栏会相应变化。1.3.9MATLABR2015b帮助例如,在右侧帮助浏览器中选择菜单“MATLAB”→“Mathematics”→“ElementaryMath”→“Trigonometry”,可以查看各种三角函数的帮助信息,如图1.21所示。1.3.9MATLABR2015b帮助单击其中的函数,就可以打开具体函数的帮助信息。例如,单击“sin”则打开帮助信息如图1.22所示。1.3.9MATLABR2015b帮助(3)搜索帮助信息帮助信息窗口如上图中所示,有查找帮助栏,输入需要查找的帮助内容,单击

查找。(4)单击图1.21右侧MATLAB旁边的

图标,出现下拉菜单,可以选择GettingStarted、Examples、Functions、ReleaseNotes和PDFDocumentation,查看快捷的相应帮助信息。1.3.9MATLABR2015b帮助2.通过命令实现帮助通过MATLAB的帮助命令可以得到纯文本形式的帮助信息,MATLAB的命令、函数的M文件都有纯文本形式的注释,用来简要描述该文件的调用格式和输入/输出变量的含义。(1)help:显示MATLAB命令和M文件的帮助信息。

语法:help %列出所有主要的帮助主题,每个帮助主题与MATLAB搜索路径的一个目录名相对应helptopic %给出指定主题的帮助,主题可以是函数、目录或局部路径例如,在命令窗口输入“helpabs”(绝对值函数)命令,显示该M文件的注释行,得出具体函数的用法说明:>>helpabsabsAbsolutevalue.abs(X)istheabsolutevalueoftheelementsofX.WhenXiscomplex,abs(X)isthecomplexmodulus(magnitude)oftheelementsofX.Seealsosign,angle,unwrap,hypot.ReferencepageforabsOtherfunctionsnamedabs1.3.9MATLABR2015b帮助(2)lookfor:在所有的帮助条目中搜索关键字,常用来查找具有某种功能而不知道准确名字的命令。语法:lookfortopic %把在搜索中发现与关键字相匹配的所有M文件的H1行(第1行注释)都显示出来lookfortopic-all %在所有M文件中搜索关键字例如,在命令窗口输入“lookforsimulink”,查看帮助信息。(3)doc:打开并显示帮助窗口,如图1.20所示。语法:docdoctopic %打开帮助导航/浏览器窗口显示指定的主题信息1.3.9MATLABR2015b帮助3.通过Web查找帮助信息MathWorks公司提供了技术支持网站/help,通过该网站用户可以找到相关的MATLAB介绍,MATLAB使用建议,常见问题解答和其他MATLAB用户提供的应用程序等。1.4MATLABR2015b其他管理1.4.1MATLAB用户文件格式1.程序文件程序文件即M文件,其文件的扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。MATLAB的各工具箱中的函数大部分是M文件。2.数据文件数据文件即MAT文件,其文件的扩展名为.mat,用来保存工作空间的数据变量。数据文件可以通过在命令窗口中输入“save”命令生成。3.可执行文件可执行文件即MEX文件,其文件的扩展名为.mex,由MATLAB的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多。4.图形文件图形文件的扩展名为.fig,可以在“File”菜单中创建和打开,也可由MATLAB的绘图命令和图形用户界面窗口产生。5.模型文件模型文件扩展名为.slx和.mdl,是由Simulink工具箱建模生成的。.mdl文件是MATLAB以前各版本使用的模型文件类型,mdl是文本文件,slx是二进制格式,这两种格式可以转换。另外,还有.s仿真文件。1.4.2设置搜索路径1.MATLAB的基本搜索过程当用户在命令窗口的提示符“>>”后输入1个名字如“X”时,则MATLAB按照以下步骤进行搜索。(1)在MATLAB内存中进行检查,检查X是否为工作空间的变量或特殊变量。(2)检查X是否为MATLAB的内部函数(Built-inFunction)。(3)在当前目录上,检查是否有名为“X.m”或“X.mex”的文件存在。(4)在MATLAB搜索路径的所有其他目录中,检查是否有名为“X.m”或“X.mex”的文件存在。(5)如果都不是,则MATLAB发出错误信息。1.4.2设置搜索路径2.显示当前目录是否在搜索路径中在“CurrentFolder”窗口中可以查看当前路径中的文件夹是否在搜索路径中,选择工具栏的“Preferences…”按钮,在出现的“Preferences”窗口左侧栏选择“CurrentFolder”,在右侧栏的“Pathindication”选项中选择“Indicateinaccessiblefiles”和“Showtooltipexplainingwhyfilesareinaccessible”,并将“Textandicontransparency”调整到最前面,如图1.23所示,单击“OK”按钮保存设置。1.4.2设置搜索路径在“CurrentFolder”窗口中将鼠标放在目录上,则可以显示出是否在搜索路径中的说明,如图1.24所示。1.4.2设置搜索路径3.MATLAB搜索路径的扩展和修改(1)利用设置路径对话框修改搜索路径。通过打开路径对话框修改搜索路径有2种方法。①在MATLAB界面的工具栏选择

“SetPath”按钮。②在命令窗口运行“pathtool”命令,就会出现如图1.25所示的“设置路径”对话框。1.4.2设置搜索路径(2)利用path命令设置搜索路径。利用path命令可以显示和添加搜索路径,用path命令扩展的搜索路径仅在当前MATLAB环境下有效。语法:path %列出MATLAB的搜索路径path(path,'新增目录') %在MATLAB的搜索路径的末尾添加新目录例如,在MATLAB的搜索路径的末尾添加已有目录“c:\MyDir”:>>path(path,'c:\MyDir')1.4.2设置搜索路径(3)在“CurrentFolder”窗口中设置搜索路径。在“CurrentFolder”窗口中选择文件夹,单击鼠标右键出现快捷菜单,如图1.26所示。选择“exe”文件夹,单击鼠标右键选择“AddtoPath”菜单,如果选择“SelectedFolders”菜单,则添加到搜索路径;如果选择“RemovefromPath”菜单,则可以从搜索路径删除。1.51个实例【例1.3】

MATLAB通用操作界面的综合运用。按照以下步骤进行。(1)启动MATLAB。(2)在命令窗口(CommandWindow)中输入以下几行命令,创建4个变量:>>a=[123;456;789];>>b=[111;222;333];>>c='MATLAB'>>d=a+b*i1.51个实例(3)打开工作空间浏览器窗口(Workspace)查看变量,共有4个变量,选择窗口左上角的

按钮,在菜单中选择“Undock”,则单独的工作空间窗口如图1.27所示。1.51个实例(4)双击其中的变量“d”,出现变量编辑器窗口(VariableEditor),如图1.28所示为该变量的详细信息。1.51个实例(5)打开历史命令窗口(CommandHistory),如图1.29所示,选择上面的4行命令,单击鼠标右键,在快捷菜单中选择“CreateM-File”命令生成M文件。1.51个实例(6)出现M文件编辑/调试器窗口(Editor/Debugger),如图1.30所示。在第一行添加注释语句“%MATLABDesktopExample”,单击工具栏的“Save”按钮,将该文件保存为“c:\MyDir\ex0103.m”。1.51个实例(7)打开当前目录浏览器窗口(CurrentDirectoryBrowser),将当前目录设置为“c:\MyDir”,可以看到刚保存的“ex0103.m”文件,在命令窗口输入“ex0103”运行该文件。(8)在命令窗口输入“saveEx0103”命令,则在当前目录工作空间窗口可以看到当前目录下生成了1个“Ex0103.mat”数据文件,如图1.31所示。1.51个实例(9)在命令窗口输入“exit”命令退出MATLAB。(10)重新启动MATLAB后,在命令窗口输入“Ex0103”则不能运行该文件,该文件不在MATLAB的搜索路径中。单击MATLAB界面的工具栏“SetPath”,打开设置路径对话框,将“C:\MyDir”目录添加到搜索路径中,如图1.32所示,单击“Save”按钮关闭该对话框,重新输入“ex0103”则可以运行该文件。1.51个实例(11)使用“clear”命令清空工作空间窗口内存变量。如果要导入“Ex0103.mat”数据文件的变量,则可选择“Ex0103.mat”文件,单击鼠标右键选择“ImportData”命令,如图1.33所示为“ImportWizard”窗口。1.51个实例(12)如在MATLAB命令窗口输入“ex0103”则可以运行该文件。如果输入“typeEx0103”命令,则可以看到该文件的内容显示如下。

>>typeex0103a=[123;456;789];b=[111;222;333];c='计算';d=a+b*I

第2章MATLAB数值计算2.1变量和数据2.2矩阵和数组2.3日期和时间2.4稀疏矩阵2.5多项式2.6元胞数组和结构数组2.7数据分析2.1变量和数据2.1.1数据类型1.整型MATLAB提供了8种内置的整数类型,每种数据类型占用的字节和表示的范围都不同,可以使用类型转换函数将各种整数类型强制相互转换,如表2.1所示。数据类型表示范围字节数类型转换函数无符号8位整数uint80~28-11uint8()无符号16位整数uint160~216-12uint16()无符号32位整数uint320~232-14uint32()无符号64位整数uint640~264-18uint64()有符号8位整数int8-27~27-11int8()有符号16位整数int16-215~215-12int16()有符号32位整数int32-231~231-14int32()有符号64位整数int64-263~263-18int64()2.1.1数据类型2.浮点型浮点数包括了单精度型(single)和双精度型(double),MATLAB默认的数据类型为双精度型,表2.2中列出了各种浮点数的数值范围和类型转换函数。数据类型表示范围字节数类型转换函数单精度型(single)-3.40282×1038~+3.40282×10384single()双精度型(double)-1.79769×10308~+1.79769×103088double()2.1.1数据类型3.字符型在MATLAB中字符型数据使用单引号('')括起来。字符使用ASCII码的形式存放,每个字符占2字节。4.逻辑型逻辑型数据表示为true和false,每个逻辑型数据占1字节。使用logical函数可以将数值型转换成逻辑型,所有非0的整数和浮点数都转换成1(true),0转换成0(false)。2.1.1数据类型【例2.1】

各种数据类型的转换,Workspace窗口如图2.1所示,可以看到变量的存储空间和类型。>>a=5;>>b=0;>>c=67;>>u1=uint8(a) %转换成无符号整型u1=5>>s1=char(c) %转换成字符型为字母"C"s1=C>>l1=logical(b) %转换成逻辑型为falsel1=02.1.1数据类型图2.1Workspace窗口2.1.2常数1.常数的表达方式MATLAB的数据采用十进制表示,可以用带小数点的形式直接表示,也可以用科学计数法,eps为相对精度位数,数值的表示范围是10

308~10308。以下都是合法的数据表示方式:

2、5.67;2.56e

56(表示2.56

10

56);4.68e204(表示4.68

10204)。2.矩阵和数组的概念在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下。(1)标量:是指1

1的矩阵,即为只含1个数的矩阵。(2)向量:是指1

n或n

1的矩阵,即只有1行或者1列的矩阵。(3)矩阵:是1个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0

0矩阵为空矩阵([])。(4)数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。2.1.2常数3.复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。复数运算不需要特殊处理,可以直接进行。复数可以有以下几种表示方式:z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为常量时)z=r*exp(i*

)可以用real、imag、abs和angle函数分别得出1个复数的实部、虚部、幅值和相角。语法:a=real(z) %计算实部b=imag(z) %计算虚部r=abs(z) %计算幅值theta=angle(z) %计算相角2.1.2常数【例2.2】

在命令窗口中输入复数。>>a=1

2*ia=1.0000

2.0000i>>real(a)ans=1>>imag(a)ans=

2>>abs(a)ans=2.2361>>angle(a)*180/pi %以角度为单位计算相角ans=

63.43492.1.3变量1.变量的命名规则MATLAB的变量有一定的命名规则。变量的命名规则如下。(1)变量名区分字母的大、小写。例如,“a”和“A”是不同的变量。(2)变量名不能超过63个字符,第63个字符后的字符被忽略,MATLAB7.3版以前的变量名不能超过31个字符。(3)变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下画线,但不能含有空格和标点符号(如。、%等)。例如,“6ABC”、“AB%C”都是不合法的变量名。(4)关键字(如if、while等)不能作为变量名。2.1.3变量2.特殊变量MATLAB有一些自己的特殊变量,是由系统自动定义的,当MATLAB启动时驻留在内存,但在工作空间中却看不到。特殊变量如表2.3所示。特殊变量取值ans默认的运算结果变量名,answer的缩写pi圆周率

eps计算机的最小数flops浮点运算数inf无穷大,如1/0NaN或nan非数,如0/0、∞/∞、0

∞i或

ji=j=

nargin函数的输入变量数目nargout函数的输出变量数目realmin最小的可用正实数realmax最大的可用正实数2.1.3变量当没有给变量赋值时,计算的结果自动赋给名为“ans”(answer的缩写)的变量。例如,在命令窗口中输入并计算2

:>>2*pians=6.2832

2.2矩阵和数组2.2.1矩阵输入在MATLAB中的矩阵表示应遵循以下基本常规。(1)矩阵元素应用方括号([])括住。(2)每行内的元素间用逗号或空格隔开。(3)行与行之间用分号或回车键隔开。(4)元素可以是数值或表达式。2.2.1矩阵输入1.通过显式元素列表输入矩阵对于比较小的简单矩阵,可以通过显式元素列表直接用键盘输入矩阵。例如,输入矩阵c:>>c=[12;34;53*2]%[]表示构成矩阵,分号分隔行,空格分隔元素c=123456也可以输入:>>c=[1,2;3,4;5,6]; %逗号分隔元素对于较为复杂的矩阵,为了使输入方式更符合用户习惯,可以用回车键代替分号分隔行。大部分试验数据都用这种形式处理,通常,简单地将左、右括号加在试验数据前后来得到矩阵。例如,矩阵c也可以这样输入:>>c=[123456]2.2.1矩阵输入2.通过语句生成矩阵通过语句生成矩阵有以下几种方式。(1)使用from:step:to方式生成行向量。如果是线性等间距格式的向量,则可以使用“from:step:to”方式生成。语法:from:tofrom:step:to2.2.1矩阵输入【例2.3】

使用“from:step:to”方式生成以下矩阵。>>x1=2:5x1=2345>>x2=2:0.5:4x2=2.00002.50003.00003.50004.0000>>x3=5:

1:2x3=5432>>x4=2:

1:3 %空矩阵x4=Emptymatrix:1-by-0>>

x5=2:

1:0.5x5=21>>x6=[1:2:5;1:3:7] %两行向量构成矩阵x6=1351472.2.1矩阵输入(2)使用linspace和logspace函数生成向量。①linspace用来生成线性等分向量。与“from:step:to”方式不同的是,它直接给出元素的个数从而得出各个元素的值。语法:linspace(a,b,n)说明:a、b、n3个参数分别表示开始值、结束值和元素个数。生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100。②logspace用来生成对数等分向量,它和linspace一样直接给出元素的个数从而得出各个元素的值。在画Bode图等应用中,需要使用logspace命令生成对数等间隔的数据。语法:logspace(a,b,n)说明:a、b、n3个参数分别表示开始值、结束值和数据个数,n如果省略则默认值为50。生成从10a到10b之间按对数等分的n个元素的行向量。2.2.1矩阵输入【例2.3续】

用linspace和logspace函数生成行向量。>>x1=linspace(0,2*pi,5) %从0到2*pi等分成5个点x1=01.57083.14164.71246.2832>>x2=logspace(0,2,3) %从1~100对数等分成3个点x2=1101002.2.1矩阵输入3.由函数产生特殊矩阵MATLAB提供了很多能够产生特殊矩阵的函数,各函数的功能如表2.4所示。函数名功能例子输入结果zeros(m,n)产生m

n的全0矩阵zeros(2,3)000000ones(m,n)产生m

n的全1矩阵ones(2,3)111111rand(m,n)产生均匀分布的随机矩阵,元素取值范围为0.0~1.0rand(2,3)0.95010.60680.89130.23110.48600.7621randn(m,n)产生正态分布的随机矩阵randn(2,3)

0.43260.1253

1.1465

1.66560.28771.1909magic(N)产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等)magic(3)816357492eye(m,n)产生m

n的单位矩阵eye(3)100010001true(m,n)false(m,n)产生m

n的逻辑矩阵,全为true产生m

n的逻辑矩阵,全为falsetrue(2,3)1111112.2.1矩阵输入【例2.4】

使用函数创建矩阵。>>X1=eye(2,3) %2行3列的单位矩阵X1=100010>>X2=eye(3) %3行3列的单位矩阵X2=100010001>>t=true(3) %3行3列的全true矩阵t=111111111>>t(1:2,3)=false(2,1) %1,2行的第2列改为falset=1101101112.2.2矩阵元素1.矩阵的下标以下介绍矩阵的下标方式。(1)全下标方式。矩阵中的元素可以用全下标方式标志,即由行下标和列下标表示,1个m

n的A矩阵的第i行第j列的元素表示为A(i,j)。例如“A(3,2)=6”表示在矩阵A的“第3行第2列”的元素赋值为6。【例2.5】

给矩阵的元素赋值。>>a=[12;34;56]a=123456>>a(3,3) %提取a(3,3)的值???Indexexceedsmatrixdimensions>>a(3,3)=9 %给a(3,3)赋值a=1203405692.2.2矩阵元素(2)单下标方式。矩阵元素也可以用“单下标”标志,就是先把矩阵的所有列按先左后右的次序连接成“一维长列”,然后对元素位置进行编号。以m

n的矩阵A为例,若元素A(i,j)则对应的“单下标”为s=(j

1)

m

i。矩阵A的元素下标如图2.2所示。2.2.2矩阵元素2.子矩阵块的产生方式MATLAB利用矩阵下标可以产生子矩阵。对于a(i,j),如果i和j是向量而不是标量,则将获得指定矩阵的子矩阵块。子矩阵是从对应矩阵中取出一部分元素构成的,如图2.3所示,分别用全下标和单下标方式取子矩阵。2.2.2矩阵元素(1)用全下标方式。矩阵A如图2.3所示,使用以下几种方式都可以构成子矩阵。①a([13],[23]):取行数为1、3,列数为2、3的元素构成子矩阵。ans=2069②a(1:3,2:3):取行数为1~3,列数为2~3的元素构成子矩阵,“1:3”表示1、2、3行下标。ans=2040692.2.2矩阵元素③a(:,3):取所有行数,即为1~3,列数为3的元素构成子矩阵,“:”表示所有行或列。ans=009④a(1:3,end):取行数为1~3,列数为3的元素构成子矩阵,用“end”表示某一维数中的最大值,即3。ans=0092.2.2矩阵元素(2)用单下标方式。a([13;26]):取单下标为1、3、2、6的元素构成子矩阵。ans=1536(3)逻辑矩阵。子矩阵也可以利用逻辑矩阵来标志,逻辑矩阵是指大小和对应矩阵相同,而元素值为0或者1的矩阵。可以用a(l1,l2)表示子矩阵,其中l1、l2为逻辑向量,当l1、l2的元素为0则不取该位置元素,反之则取该位置的元素。【例2.5续】

利用逻辑矩阵提取矩阵,其中矩阵A如图2.2所示。>>l1=logical([101]) %给出逻辑向量l1l1=101>>l2=logical([110]) %给出逻辑向量l2l2=110>>a(l1,l2) %取出1、3行且1、2列的元素ans=12562.2.2矩阵元素3.矩阵的赋值矩阵的赋值有几种方式:全下标方式、单下标方式和全元素方式。【例2.6】

给矩阵元素赋值。给矩阵元素赋值。有以下几种方式。①全下标方式:A(i,j)=B,给A矩阵的部分元素赋值,则B矩阵的行列数必须等于A矩阵的行列数。>>a(1:2,1:3)=[111;111] %给第1、2行元素赋值为全1a=111111②单下标方式:A(s)=b,b为向量,元素个数必须等于A矩阵的元素个数。【例2.6续】

以单下标方式给矩阵元素赋值。>>a(5:6)=[23] %给第5、6元素赋值a=1121132.2.2矩阵元素③全元素方式:A(:)=B,给A矩阵的所有元素赋值则B矩阵的元素总数必须等于A矩阵的元素总数,但行列数不一定相等。>>a=[12;34;56]a=123456>>b=[123;456]b=123456>>a(:)=b %按单下标方式给a赋值a=15

43262.2.2矩阵元素4.矩阵元素的删除操作在MATLAB中可以对矩阵的单个元素、子矩阵块和所有元素进行删除操作,方法就是简单地将其赋值为空矩阵(用[]表示)。【例2.7】

对矩阵元素进行删除,其中矩阵A如图2.2所示。>>a(:,3)=[] %删除1列元素a=123456>>a(1)=[] %按单下标方式删除1个元素,则矩阵变为行向量a=35246>>a=[] %删除所有元素为空矩阵a=[]2.2.2矩阵元素5.生成大矩阵在MATLAB中,可以通过方括号([])将小矩阵联结起来生成1个较大的矩阵。【例2.8】

将矩阵联结起来生成大矩阵,其中矩阵A如图2.2所示。>>[a;a] %连接成6

3的矩阵ans=120340569120340569>>[aa] %连接成3

6的矩阵ans=120120340340569569>>[a(1:2,1:2)10*a(1:2,2:3)] %计算并连接ans=12200344002.2.2矩阵元素6.矩阵的翻转MATLAB中可以通过功能强大的矩阵翻转函数对矩阵进行翻转,其功能如表2.5所示。假设矩阵A同上例。函数名功能例子输入结果triu(X)产生X矩阵的上三角矩阵,其余元素补0triu(a)120040009tril(X)产生X矩阵的下三角矩阵,其余元素补0tril(a)100340569flipud(X)使矩阵X沿水平轴上下翻转flipud(a)569340120fliplr(X)使矩阵X沿垂直轴左右翻转fliplr(a)021043965flipdim(X,dim)使矩阵X沿特定轴翻转。dim=1,按行维翻转;dim=2,按列维翻转

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论