MATLAB程序设计及应用完整版电子课件.pptx

上传人:zf 文档编号:30853406 上传时间:2024-03-02 格式:PPTX 页数:257 大小:7.01MB
下载 相关 举报
MATLAB程序设计及应用完整版电子课件.pptx_第1页
第1页 / 共257页
MATLAB程序设计及应用完整版电子课件.pptx_第2页
第2页 / 共257页
MATLAB程序设计及应用完整版电子课件.pptx_第3页
第3页 / 共257页
MATLAB程序设计及应用完整版电子课件.pptx_第4页
第4页 / 共257页
MATLAB程序设计及应用完整版电子课件.pptx_第5页
第5页 / 共257页
点击查看更多>>
下载资源
资源描述

MATLAB程序设计及应用完整版电子课件.pptx

《MATLAB程序设计及应用完整版电子课件.pptx》由会员分享,可在线阅读,更多相关《MATLAB程序设计及应用完整版电子课件.pptx(257页珍藏版)》请在冰豆网上搜索。

MATLAB程序设计及应用完整版电子课件.pptx

全全册册课课件件MATLAB程序设计及应用MATLAB程序设计及应用(第2版)第1章MATLAB入门与基本操作1.1MATLAB的发展沿革MATLAB是美国NewMexico大学的数学和计算机教授CleveMoler在20世纪70年代中后期讲授线性代数课程时首创的,全名为MATrixLABoratory(矩阵实验室)。

特点:

用Fortran语言编写的,只能做矩阵运算;绘图用星号描点的形式画图;提供了几十个内部函数。

第1章MATLAB入门与基本操作1984年,CleveMoler等一批数学家和软件专家成立了MathWorks软件开发公司,对MATLAB进行了大规模的扩展和改进,并与同年推出了第一个MATLAB的商用版本。

特点:

采用C语言进行改写;具有较多的内部函数。

1.1MATLAB的发展沿革1993年推出了MATLAB4.0版,同年又推出了MATLAB4.2版。

特点:

基于PC的以Windows为操作系统平台;增加了Simulink,Control,NeuralNetwork,Optimization,SignalProcessing,Spline,RobustControl等工具箱;4.2版首次开发了SymbolicMath工具箱。

1.1MATLAB的发展沿革1997年推出了MATLAB5.0版。

特点:

基于Windows95;实现了真正的32位运算,数值计算更快;图形表现更丰富有效,编程更简洁直观;用户界面十分友好。

1.1MATLAB的发展沿革2000年推出了MATLAB6.0版(Release12)。

特点:

在核心数值算法、界面设计、外部接口、应用桌面等方面有了极大的改进。

1.1MATLAB的发展沿革2004年推出了MATLAB7.0版(Release14)。

视特点:

集成了MATLAB7.0编译器、Simulink6.0图形仿真器及许多工具箱,在编程环境、代码效率、数据可化、文件I/O等方面都进行了全面的升级。

1.1MATLAB的发展沿革从2006年开始,MathWorks公司在产品的发表模式发生了变化。

每年的3月和9月进行两次产品发布,版本的命名方式为“R+年份+代码”,对应于上下半年的代码分别是a和b。

MATLABR2013b(即MATLAB8.2版)是2013年9月推出的产品。

最近一次版本更新是2015年9月推出的MATLABR2015b,对许多工具箱作了相应的升级,使得MATLAB的功能更强,应用更简便。

1.1MATLAB的发展沿革1.2MATLAB的特点及应用领域优点:

1以复数数组(包括矩阵)作为基本编程单元,每个变量代表一个数组,其中的每个元素都可以是复数。

数组的维数不需要预先定义即可采用,还可以随时改变数组的尺寸。

2易学易用,函数名和表达式更接近书写计算公式的思维表达方式。

使用MATLAB编程犹如在草稿纸上排列公式和求解问题。

第1章MATLAB入门与基本操作1.2MATLAB的特点及应用领域3是一种面向科学和工程计算的高级语言。

它以数组运算为基础,极少的代码就可以实现复杂的功能。

4具有强大而智能化的图形功能。

5提供了许多面向应用问题求解的工具箱函数,从而大大方便科研人员的使用。

6开放性好,易于扩充。

7与C语言和Fortran语言有良好的接口,可以实现混合编程。

1.2MATLAB的特点及应用领域缺点:

1运行效率较低,执行相同功能的代码运行时间较长。

2用户编制的程序文件为文本文件,可以用文本编辑器直接打开,不利于保密。

3访问硬件的能力相对较差,图形用户界面功能不够灵活。

1.2MATLAB的特点及应用领域应用领域:

数据分析;数值与符号计算;工程与科学绘图;控制系统设计;电路分析计算;通信系统设计与仿真;航天工业;汽车工业;生物医学工业;语音处理;图像与数字信号处理;财务、金融分析;建模、仿真与样机开发;新算法研究开发。

第1章MATLAB入门与基本操作1.3MATLAB的安装启动与操作桌面简介1.3.1MATLAB的安装和启动MATLAB可以在Windows环境下直接安装。

在MATLAB安装完成后,会在Windows桌面上自动生成MATLAB的快捷方式图标。

1.3.1MATLAB的安装和启动双击图标,就打开了如图1.1所示的MATLAB默认窗口(Desktop)。

图1.11.3MATLAB的安装启动与默认窗口简介1.3.2MATLAB默认窗口简介图1.1所示的MATLAB默认窗口分为5个区域:

指令窗、当前目录窗、历史指令窗、工作空间窗和Details窗。

另外,在MATLAB默认窗口的上方,还嵌入了菜单栏和工具栏,如图1.1所示。

它们的使用及选择方式与Windows环境中的相同。

1.3.2MATLAB默认窗口简介指令窗(CommandWindow)该窗口是进行各种MATLAB操作的最主要窗口。

它位于MATLAB默认窗口的正中间。

用户可以在该窗口中提示符“fx”后直接键入指令,按“Enter”键后,即可运行并显示除窗口外的所有运行结果。

当指令窗口提示符为“fx”时,表示系统已经准备好,用户可以输入指令、函数、表达式,按“Enter”键后便可执行。

当前目录窗(CurrentDirectoryBrowser)该窗口位于MATLAB默认窗口的左上方。

它显示了当前目录下所有文件的文件名、文件类型、最后修改时间和文件相关描述等信息。

1.3.2MATLAB默认窗口简介历史指令窗(CommandHistory)该窗口位于MATLAB默认窗口的右下方。

它自动记录自MATLAB安装起所有已经运行过的指令、函数、表达式,以及它们的运行日期和时间。

该窗口中的所有指令、文字都允许复制、重新运行及用于产生M文件。

工作空间窗(WorkspaceBrowser)该窗口位于MATLAB默认窗口的右上方。

它列出了MATLAB工作空间中所有的变量名、大小、字节数和变量类型说明。

在该窗口中,可以对变量进行观察、编辑、提取、保存和删除等操作。

1.3.2MATLAB默认窗口简介Details窗该窗口位于MATLAB默认窗口的右下方,用于显示文件的细节。

在MATLAB默认窗口上方,还嵌入了菜单栏和工具栏,它们的使用及选择方式与Windows环境中的相同。

1.3MATLAB的安装启动与默认窗口简介1.3.3MATLABR2013b界面菜单工具栏MATLABR2013b的界面相比较与其旧版本有了很大的差别,菜单和工具合为一体,即菜单工具。

在MATLAB启动后,在默认窗口(见图1.1)的上方,用户可以看到如图1.2所示的菜单工具栏。

顶层菜单有HOME(基本菜单和工具)、PLOTS(绘图工具)和APPS(应用程序)共3项。

图1.2第1章MATLAB入门与基本操作1.4MATLAB指令窗操作入门1.4.1MATLAB指令窗简介MATLAB指令窗位于MATLAB默认窗口的正中间,如图1.1所示。

如果用户希望得到脱离默认窗口的几何独立的指令窗,只要单击图1.2中的图标,并在下拉菜单中选择就可以获得如图1.3所示的指令窗。

1.4.1MATLAB指令窗简介图1.3标如果希望让几何独立的指令窗嵌入回MATLAB默认窗口中,则只要单击下拉菜单中的图即可。

1.4MATLAB指令窗操作入门1.4.2最简单的计算器使用方法【例1.1】求55+5(7.5-0.5)23的运算结果。

图1.31.4.2最简单的计算器使用方法【说明】MATLAB指令是带有提示符“”的,从而可以区分是指令还是MATLAB给出的结果。

MATLAB的运算符(如、等)都是各种计算程序中常见的习惯符号。

在键入一条指令后,必须按下“Enter”键,该条指令才会被执行。

计算结果显示中的“ans”是英文“answer”的缩写,其含义是“运算答案”。

这是MATLAB中的一个预定义的默认变量。

1.4.2最简单的计算器使用方法【例1.2】简单数组的输入。

1.4.2最简单的计算器使用方法【说明】直接输入数组时,数组元素之间用空格或逗号分隔,数组行之间用分号分隔,整个数组放在方括号对“”里。

注意:

标点符号必须在英文状态下输入!

在MATLAB中,不必事先对数组的维数进行任何说明,存储将自动配置。

指令执行后,数组A被保存在MATLAB的工作空间中。

如果用户不对它进行重新赋值,或用clear指令清除它,该数组将会一直保存在工作空间中,直到本次MATLAB指令窗被关闭为止。

MATLAB对字母的大小写是敏感的。

在本例中,数组赋给了变量A,而不是小写的a。

1.4.2最简单的计算器使用方法按照MATLAB的变量定义规则,将所有变量都定义为数组。

标量被看作(11)的数组,向量认为是(1n)或(m1)的数组,矩阵认为是(mn)的数组。

1.4.2最简单的计算器使用方法【例1.3】数组的分行输入【说明】在这种输入法中,“Enter”键用来分隔数组中的行。

1.4.2最简单的计算器使用方法【例1.4】指令的续行输入【说明】MATLAB用3个或3个以上的连续黑点表示“续行”,即下一行是上一行的继续。

1.4MATLAB指令窗操作入门1.4.3数值、变量和表达式1.数值的记述MATLAB的数值采用习惯的十进制表示,可以带小数点或负号。

以下记述都合法41000.00016.7898.7e61.8e56在采用IEEE浮点算法的计算机上,数值通常采用“占用64位内存的双精度”表示。

其相对精度是eps(MATLAB的一个预定义变量),大约保持有效数字16位。

数值范围大致从10-308到10308。

除了一般实数数据之外,MATLAB还支持复数数组和字符串型数组。

1.4.3数值、变量和表达式2.变量命名规则MATLAB中变量名应该由一个英文字母打头,后面可以跟字母、数字、下划线等,变量名最多不超过63个字符。

MATLAB中变量名是区分大小的。

有些变量名不能用。

例如,sin(它是MATLAB中定义的正弦函数名)。

但SIN和Sin可以用。

1.4.3数值、变量和表达式3.预定义变量MATLAB中有一些所谓的“预定义变量”(PredefinedVariable),如表1.1(p.8)所示。

每当MATLAB启动时,这些变量就自动产生并取表中的预定义值。

这些变量都有特殊的含义和用途。

如果用户对表中任何一个预定义变量进行赋值,则那个变量的默认值将被用户新赋的值“临时”覆盖,原始的特殊取值将会丢失。

习惯于其他程序设计语言编程的读者最有可能将预定义变量“i”和“j”作为循环变量使用,而破坏其默认值。

建议:

在编写指令和程序时,尽量不对表1.1中所列预定义变量重新赋值,以免产生混淆。

1.4.3数值、变量和表达式4.运算符和表达式MATLAB中的算术运算符和其他程序设计语言的表现形式相同。

但由于MATLAB是面向矩阵/数组运算设计的,标量被看作(11)的矩阵/数组,“乘、除和幂”运算的规则与一般矩阵运算有所不同。

除法运算包括了“左除”和“右除”两种运算。

具体说明详见第2章。

1.4.3数值、变量和表达式MATALAB书写表达式的规则与“手写算式”几乎完全相同,也与其他程序设计语言没有多少差别。

表达式由变量名、运算符和函数名组成。

表达式按常规的优先级从左到右执行运算。

优先级的基本规定是:

指数运算级别最高,乘除运算其次,加减运算级别最低。

括号可以改变运算的次序。

书写表达式时,赋值符“=”和运算符两侧允许有空格,以增加可读性。

1.4MATLAB指令窗操作入门1.4.4工作空间与变量管理对于如图1.1所示的默认窗口,直接点击工作空间窗中的变量名就可以进行相应的操作。

1.4.4工作空间与变量管理右击【例1.2】结果图中A的图标,可以根据下拉菜单进行相应操作。

1.4.4工作空间与变量管理还可以双击A的图标,在弹出的窗口中对A的内容进行修改,也可以改变A的尺寸。

1.4.4工作空间与变量管理对于如图1.3所示的几何独立的指令窗,则可以通过三个常用指令:

who,whos和clear进行。

在指令窗中运行who指令和whos指令,可以获得有关工作空间中变量的相关信息;而运行clear指令则可以删除一些不再使用的变量,使整个工作空间更简洁。

【例1.5】在指令窗中运行指令who,whos和clear的示例。

1.4.4工作空间与变量管理【说明】可以把多条指令放在同一行上输入,中间用逗号或分号分隔。

如果采用了分号,则不显示该条指令的运行结果。

1.4.4工作空间与变量管理whos指令将列出全部变量的变量名(Name)、大小(Size)、字节数(Bytes)、变量类型(Class)。

除了列出了各个变量的相关信息外,还给出了整个工作空间的占用情况。

MATLAB将所有的变量都作为数组来看待。

1.4.4工作空间与变量管理clear指令中,X1和Y1之间不能加逗号或分号,只能用空格分隔;否则该指令就会被错误地解释成删除X1变量,然后运行下一条指令(其内容为Y1),而下一条指令将被解释成将Y1变量的内容显示出来,这样Y1变量就不会被删除。

1.4.4工作空间与变量管理应当特别注意:

单独键入clear指令,将无条件删除MATLAB工作空间中的全部变量!

系统不会要求用户确认该指令,所有变量都被清除,并且不能恢复!

1.4MATLAB指令窗操作入门1.4.5指令窗的显示方式与指令行的编辑及标点符号1.默认的输入显示方式从MATLAB7.0版本开始起规定:

输入指令中的if,for,end等控制数据流的MATLAB关键词自动地采用蓝色字体显示;输入指令中的非控制指令、数码,都自动地采用黑色字体显示;输入的字符串自动地采用紫色字体显示。

1.4.5指令窗的显示方式与指令行的编辑及标点符号2.运算结果的显示在指令窗中显示的输出有:

指令执行后,数值结果采用黑色字体输出;而运行过程中的出错信息用红色字体显示。

1.4.5指令窗的显示方式与指令行的编辑及标点符号系统用红色的字体告知矩阵的维数不一致。

1.4.5指令窗的显示方式与指令行的编辑及标点符号结果的输出一般默认采用“formatshortg”格式,显示出5位有效数字。

不要误认为,运算结果的精度只有5位有效数字。

MATLAB的数值数据通常占用64位(Bit)内存,以16位有效数字的“双精度”进行运算和输出。

可以根据需要,在指令窗中直接输入相应的指令,获得所需的数值计算结果显示格式。

表1.2(p.10)给出了这些常用的数字显示格式。

【例1.6】在指令窗中运行format指令的示例。

1.4.5指令窗的显示方式与指令行的编辑及标点符号【说明】在选择不同的数字显示格式时,MATLAB并不改变数字的大小,只改变显示格式。

一旦键入了上述某条format指令后,工作空间中的所有数据均采用同一格式显示。

并且,在下一次键入format指令前,所有数据均按照本次format指令规定的格式显示。

1.4.5指令窗的显示方式与指令行的编辑及标点符号3.指令窗中指令行的编辑由于MATLAB把指令窗中输入的所有指令都记录在内存中专门的“历史指令”(CommandHistory)空间中,因此MATLAB的指令窗不仅可以对输入执行过的指令进行编辑和运行,而且可以对已输入的指令进行回调、编辑和重新运行。

常用的操作键如表1.3(p.11)所示。

1.4.5指令窗的显示方式与指令行的编辑及标点符号4.指令窗中的标点符号MATLAB中的标点符号的作用如表1.4(p.12)所示。

需要特别提醒的是:

在向指令窗中输入指令时,一定要在英文状态下输入。

1.4MATLAB指令窗操作入门1.4.6在线帮助为了帮助用户在繁多的MATLAB指令中找到所需的指令并且了解指令的使用方式,MATLAB提供了广泛的在线帮助功能。

最常用的功能是:

help指令和lookfor指令。

1.help指令在指令窗中运行help指令可以获得不同程度的帮助。

【例1.7】在指令窗中运行help指令的示例。

1.4.6在线帮助

(1)运行help引出主题(Topics)分类列表1.4.6在线帮助

(2)运行helptopic引出具体主题下的函数名(FunName)列表1.4.6在线帮助(3)运行helpFunName获得具体函数的用法说明1.4.6在线帮助(4)运行helphelp获得如何使用help的信息1.4.6在线帮助2.lookfor指令lookfor指令根据关键词提供帮助。

【例1.8】寻找所有求解riccati方程的指令和解释语句。

1.4.6在线帮助第2章数值数组及其运算MATLAB程序设计及应用(第2版)2.1数值数组的创建、标识、查询和定位出于数值运算离散本质的考虑,也出于“向量化”快速处理数据的需要,MATLAB总把数值数组看作是存储和运算的基本单元,标量数据被看成是(11)的数组,而矩阵则是(mn)的数组。

第2章数值数组及其运算2.1数值数组的创建、标识、查询和定位2.1.1数组的创建1.逐个元素输入法这是最简单,也是最通用的创建方法。

【例1.1】【例1.4】就是采用这种方法创建的。

复数矩阵(即二维复数数组)的输入也很简单。

2.1.1数组的创建【例2.1】产生复数数组注意:

虚数部分的几种输入表示方法,其中i和j的意义相同。

2.1.1数组的创建若将指令中“j*5”改成“j5”,系统会提示出错,因为j5是一个未被定义或赋值的变量。

2.1.1数组的创建B数组创建后,可以用real,imag,abs,angle函数来求出其对应的实部数组、虚部数组、幅值数组和相角数组(参见p.26表2.2)。

左图给出了求取对应的虚部数组的函数指令和结果。

2.1.1数组的创建2.冒号“:

”生成法MATLAB定义了独特的冒号表达式来给一维“行”数组赋值,其通用格式为:

x=a:

inc:

b其中,a是生成数组的第一个元素;inc是采样点之间的间隔,即步距。

如果(ba)是inc的整倍数,则生成数组的最后一个元素等于b;否则不等于b。

如果inc的值为正值,则要求ab,否则结果为一个“空”数组。

如果省略了inc,则步距值默认为1。

2.1.1数组的创建【例2.2】以0为初值,0.2为步距,1.76为终值,产生一个“行”数组。

由于1.76不是0.2的整倍数,所以产生的最后一个元素为1.6,而不是1.76。

2.1.1数组的创建3.定数线性采样法(linspace函数)该法在设定“总点数”的前提下,均匀采样产生一维“行”数组。

该法的通用格式为:

x=linspace(a,b,n)其中,a和b分别是生成数组的第一个和最后一个元素;n是采样总点数。

该指令的作用与指令x=a:

(b-a)/(n-1):

b相同。

与前一种方法相比,在于b一定能够被采到。

【例2.3】在指令窗中运行linspace函数的示例。

2.1.1数组的创建2.1.1数组的创建4.定数对数采样法(logspace函数)该法在设定“总点数”的前提下,经“常用对数”采样产生一维“行”数组。

在系统频率分析中,常常用该指令产生频率响应的频率自变量采样点。

该法的通用格式为:

x=logspace(a,b,n)其中,n是采样总点数;生成数组的第一个元素值为10a;最后一个元素值为10b。

【例2.4】在指令窗中运行logspace函数的示例。

2.1.1数组的创建2.1.1数组的创建5.中等规模数组的数组编辑器创建法当数组规模较大,元素数据比较冗长且杂乱无章时,借助于数组编辑器(ArrayEditor)比较方便。

【例2.5】根据现有数据创建一个(38)的数组。

2.1.1数组的创建图2.1图2.2

(1)单击图2.1所示的MATLAB默认窗口上面菜单工具栏中的图标,在工作空间窗中引出一个名为unnamed变量的数组编辑器,如图2.2所示。

2.1.1数组的创建

(2)在空白窗口中,按照“行、列”次序输入数据。

最后一个数据-9输入结束后,按下【Enter】键,或在数组编辑器窗口内单击鼠标,使整个数组保存在unnamed变量中。

图2.32.1.1数组的创建(3)在数组编辑器窗口中,右键点中unnamed变量,利用弹出的菜单的Renameunnamed选项,把变量名改成所需的名称,比如ABC(此时,在工作空间窗口中会出现该变量)。

【说明】运行上述指令后,在MATLAB的当前目录窗中可以找到一个名为ABC_DAT.mat的文件,其内容即为ABC变量。

该指令中的第一个字符串为保存变量的文件名,第二个字符串为被保存的变量。

如果以后要调用该变量,则在指令窗中键入loadABC_DAT。

save指令和load指令在处理较大规模的数组和需要多次重复运行或者需要经过多步中间运算才能得到最终结果的数组时,有着极为重要的作用。

2.1.1数组的创建(4)假如该变量要供以后调用,则在指令窗中键入saveABC_DATABC2.1.1数组的创建6.中等规模数组的M脚本文件创建法对于今后经常需要调用的数组,当数组规模较大而复杂时,为它专门建立一个M脚本文件是值得的。

【例2.6】创建和保存数组AM的MyMatrix.m文件。

2.1.1数组的创建,打开M文

(1)单击MATLAB默认窗口上面的图标件编辑调试器(Editor/Debugger),并在空白填写框中输入所需的数组。

图2.42.1.1数组的创建

(2)在空白填写框中输入所需数组,并在文件的首行,编写文件名和简短说明,以便查阅。

图2.42.1.1数组的创建图2.4(3)点击M文件编辑调试器工具条上的Save图标,在弹出的Windows标准风格的对话框内,选择保存文件夹,键入新编程序的文件名(如MyMatrix),点击【保存(S)】键,就完成了文件的保存,并且文件起名为MyMatrix.m。

2.1.1数组的创建(4)以后只要在MATLAB指令窗中,键入MyMatrix,数组AM就会自动生成于MATLAB工作空间中。

2.1.1数组的创建7.利用MATLAB函数创建数组实际应用中,往往需要产生一些特殊形式的数组。

MATLAB考虑到这方面的需要,提供了许多生成特殊数组的函数。

表2.1(p.19)列出了最常用的函数。

【例2.7】标准数组产生的示例。

运行结果分三张图显示。

2.1.1数组的创建2.1.1数组的创建2.1.1数组的创建2.1数值数组的创建、标识、查询和定位2.1.2数组的标识在MATLAB中,数组元素是按列存储的。

数组中的元素可以采用全下标方式和单下标方式进行标识。

全下标方式就是在引述具体数组元素时,用行下标和列下标表示数组元素的位置。

如果数组元素的下标行或列(i,j)大于数组的大小(m,n),MATLAB会提示出错。

2.1.2数组的标识单下标标识就是只用一个下标来指明元素在数组中的位置。

为此,需要首先对数组的所有列按“先左后右”的次序、首尾相连接成“一维长列”。

然后,自上而下对元素位置进行编号。

以(mn)数组A为例,元素A(i,j)对应的单下标为。

【例2.8】数组全下标标识和单下标标识的应用示例。

2.1.2数组的标识2.1数值数组的创建、标识、查询和定位2.1.3数组的标识利用操作桌面中的工作空间浏览器,或者利用who指令和whos指令,可以对数组的大小进行查询。

另外,还可以采用find指令进行特殊要求的数组元素定位;也可以利用length指令和size指令分别求取向量和矩阵维数。

【例2.9】数组查询及定位的相关指令的应用示例。

2.1.3数组的标识【说明】find指令执行的结果表明,在A阵中,第1行的第4,5列元素和第2行的第4列元素满足条件要求。

为什么会如此显示结果?

矩阵的存储方式决定的。

2.1.3数组的标识【说明】不管数组的维数是多少,size指令可以给出数组各维的大小。

length指令通常用来求取一维数组(即向量)的长度,它可以给出数组所有维中的最大长度。

这就是说,length(A)等价于max(size(A)。

2.2数组的运算和操作MATLAB中所有变量都被认为是数组变量,因此MATLAB的数值计算遵循数组运算的规则进行。

如果在计算过程中发生数组维数不相容的情况,MATLAB将自动给出错误信息提示。

此外,MATLAB还提供了独特

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1