matlab中文帮助文档.pdf

上传人:小小飞 文档编号:3672923 上传时间:2019-09-20 格式:PDF 页数:105 大小:1.32MB
返回 下载 相关 举报
matlab中文帮助文档.pdf_第1页
第1页 / 共105页
matlab中文帮助文档.pdf_第2页
第2页 / 共105页
matlab中文帮助文档.pdf_第3页
第3页 / 共105页
matlab中文帮助文档.pdf_第4页
第4页 / 共105页
matlab中文帮助文档.pdf_第5页
第5页 / 共105页
亲,该文档总共105页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《matlab中文帮助文档.pdf》由会员分享,可在线阅读,更多相关《matlab中文帮助文档.pdf(105页珍藏版)》请在三一文库上搜索。

1、开始 开始 如果你是MATLAB的初学者,你应该从阅读矩阵操作开始。最重要的是要学习如何 输入矩阵,如何使用:(冒号)算子,以及如何调用函数。 在你掌握了基础之 后,你应该阅读其他章节并运行实例。 MATLAB的中心是一种在你能充分开发它的功能之前必须学习的工具。你能迅速学 习MATLAB的基础并掌握它。你将会得到的回报是高产量以及高创造性用计算机计 算的能力,这将会改变你工作的方式。 ?导言 - 描述MATLAB系统的组成。 ?开发环境- 介绍MATLAB的开发环境,包括有关工具和MATLAB桌面的信息。 ?矩阵操作- 介绍如何用MATLAB生成矩阵以及用矩阵进行数学运算。 ?作图- 介绍M

2、ATLAB的作图能力,包括有关作图数据,给图表加注释,以及图 像的使用。 ?用MATLAB编程 - 描述如何用MATLAB语言编写手稿和函数,以及利用数据结 构,例如单元数组和多元数组。 有关信息有关信息 更多关于此收藏中的主题的指导信息另见Using MATLAB。 对于有关MATLAB函数的 参考信息,见Reference。 Getting StartedGetting Started 导言 冒号算子冒号算子 冒号:是MATLAB里面一个十分重要的算子,适用于各种不同的表达式。 例如表 达式 1:10 表示一行从1到10的整数 1 2 3 4 5 6 7 8 9 10 为了改变递变的间隔,

3、可以指定一个间隔长度 ,例如 100:-7:50 表示为 100 93 86 79 72 65 58 51 而 0:pi/4:pi 表示 0 0.7854 1.5708 2.3562 3.1416 含有冒号的下标表达式也可以用来表示矩阵的一部分 A(1:k,j) i表示A的第j列前k个元素,因此 sum(A(1:4,4) 表示计算a的第4列元素的和。但是这里有一种更加方便的办法。关键字:本身 可以表示某行或某列的全体元素,而我们可以用关键字end来表示最后一行或者最 后一列的全体元素,所以 Getting StartedGetting Started sum(A(:,end) 是计算a的最后一

4、列元素的和。故有 ans = 34 为什么一个44的魔方矩阵的魔术和是34呢?如果我们从1加到16再把答案除以 4,即 sum(1:16)/4 答案当然是 ans = 34 动画动画 MATLAB提供两种生成生动活泼动画的方法: ?在屏幕上不断擦除再重画对象,每次重画作增量变化。 ?保存许多不同图,然后作为电影回放。 MATLAB系统MATLAB系统 MATLAB系统包括五个主要部分: 开发环境.开发环境. 这是一组帮助你使用MATLAB的函数和文件的工具和设备。这些工具 大部分是图形用户界面。它包括MATLAB桌面和命令窗口,命令历史,和用于查看 帮助的浏览器,工作空间,文件和查找路径。 M

5、ATLAB数学函数库.MATLAB数学函数库. 这里汇集了大量计算的算法,范围从初等函数如:求和, 正弦,余弦和复数的算术运算,到复杂的高等函数如:矩阵求逆,矩阵特征值, 下标 魔方函数 Getting StartedGetting Started 图形用户界面 删除模式方法 Getting StartedGetting Started 贝塞尔(Bessel)函数和快速傅立叶变换等。 MATLAB语言.MATLAB语言. 这是一种高水平的矩阵/数组语言,含有控制流语句,函数,数据 结构,输入/输出,和面向对象编程特征。它允许“小型编程”以迅速创立快速抛 弃型程序,以及“大型编程”以创立完整的大

6、型复杂应用程序。 句柄制图句柄制图. . 这是MATLAB制图系统。它包括高级别的二维、三维数据可视化,图 像处理,动画,以及表现图形的命令。它还包括低级别的命令,这使你不但能在 MATLAB的应用中建立完整的图形用户界面,而且还能完全定制图形的外观。 MATLAB应用程序界面(API).MATLAB应用程序界面(API). 这是使你编写与MATLAB相合的C或Fortran程序的程 序库。它包括从MATLAB中调用程序(动态链接),调用MATLAB为计算引擎,和读 写MAT-文件的设备。 MATLAB在线帮助 MATLAB在线帮助 要查看在线文件,在MATLAB菜单栏中选择HelpHelp选

7、项。(更多关于使用在线文件的信 息见帮助浏览器.) 在“用MATLAB”下,文件主要由以下主题构成: ?开发环境- 提供关于MATLAB桌面的全部信息。 ?数学- 描述如何使用MATLAB的数学和统计功能。 ?编程和数据类型- 描述如何用MATLAB语言创建脚本和函数。 ?作图- 描述怎样用MATLAB的图形功能绘制数据图。 ?3D可视化- 介绍怎样用查看,光照,透明等函数达到比仅用基本作图函数更 复杂的图形效果。 ?外部界面/API - 描述MATLAB的下列界面:C和Fortran程序, Java类别和对 象, 数据文件, 串行端口I/O, ActiveX(网络化多媒体对象技术),和DDE

8、 (动态数据交换)。 ?创建图形用户界面- 描述如何用MATLAB的图形用户界面设计工具。 在“参考”下,文件主要由以下主题组成: ?MATLAB函数参考- 覆盖MATLAB的所有核心函数,提供有关函数句法,详细资 料,数学算法(恰当时),以及相关函数。 你可以用“函数类别”或“函数字母列表”简单地定位任何函数。 导言 MATLAB文件 Getting StartedGetting Started ?外部界面/API参考- 覆盖被MATLAB用于外部界面的函数,提供关于调用语言 的句法,详细资料,参数,返回值和例子的信息。 MATLAB在线帮助也包括“图形对象属性浏览器”,它使你能容易地访问图

9、形对象 属性地详细资料。更多关于MATLAB图形地信息,见操作图形。 导言 导言 MATLAB是什么? MATLAB是什么? MATLAB 是一种对技术计算高性能的语言。它集成了计算,可视化和编程于一个易 用的环境中,在此环境下,问题和解答都表达为我们熟悉的数学符号。典型的应 用有: ?数学和计算 ?算法开发 ?建模,模拟和原形化 ?数据分析,探索和可视化 ?科学与工程制图 ?应用开发,包括图形用户界面的建立 MATLAB是一个交互式的系统,其基本数据元素是无须定义维数的数组。这让你能 解决很多技术计算的问题,尤其是那些要用到矩阵和向量表达式的问题。而要花 的时间则只是用一种标量非交互语言(例

10、如C或Fortran)写一个程序的时间的一小 部分。 . 名称“MATLAB”代表matrix laboratory(矩阵实验室)。MATLAB最初是编写来提 供给对由LINPACK和EINPACK工程开发的矩阵软件简易访问的。今天,MATLAB使用 由LAPACK和ARPACK工程开发的软件,这些工程共同表现了矩阵计算的软件中的技 术发展。 MATLAB已经与许多用户输入一同发展了多年。在大学环境中,它是很多数学类、 工程和科学类的初等和高等课程的标准指导工具。在工业上,MATLAB是高产研 究、开发和分析所选择的工具。 MATLAB文件 开发环境 Getting StartedGettin

11、g Started MATLAB以一系列称为工具箱的应用指定解答为特征。对多数用户十分重要的是, 工具箱使你能学习和应用专门的技术。工具箱是是MATLAB函数(M-文件)的全面 的综合,这些文件把MATLAB的环境扩展到解决特殊类型问题上。具有可用工具箱 的领域有:信号处理,控制系统神经网络,模糊逻辑,小波分析,模拟等等。 Getting Started MATLAB系统 动画动画 MATLAB提供两种生成生动活泼动画的方法: ?在屏幕上不断擦除再重画对象,每次重画作增量变化。 ?保存许多不同图,然后作为电影回放。 桌面工具桌面工具 这一节给出了MATLAB桌面工具的介绍。你还可以通过运用MA

12、TLAB里的函数去执行 桌面工具的大部分特征。这些工具是: ?命令窗口 ?命令历史 ?发射台 ?帮助浏览器 ?当前目录浏览器 ?工作空间浏览器 ?数组编辑器 ?编辑器/调试器 帮助浏览器帮助浏览器 用帮助浏览可以在你所有的MathWorks 产品中找到并查看文档。帮助浏览器是一 个集成在MATLAB桌面中显示HTML文件的网页浏览器。 要打开帮助浏览器,可以在工具栏中点击 或者在控制窗口中输入helpbrowser。 Getting StartedGetting Started 图形用户界面 删除模式方法 Getting StartedGetting Started MATLAB桌面 命令窗口

13、 Getting StartedGetting Started 帮助浏览包含两个控制台,帮助导航-用来查询信息,以及显示控制台-可以查 看信息。 帮助导航帮助导航 利用帮助导航可以查询信息,它包括: ?产品过滤器产品过滤器设置过滤器可以显示那些你符合分类的产品。 ?内容标签-内容标签-查看要求产品的名字并且把文档内容制表。 ?索引标签-索引标签-在Mathworks文档中查找对你需要的产品特定的索引入口(选定关 键词)。 ?搜索标签-搜索标签-在文档中寻找特定词语。要得到特定功能帮助,设置“搜索类 型”到“搜索名字”。 ?收藏标签-收藏标签-查看以前设定的收藏文档的列表。 显示控制台显示控制台

14、 在用帮助导航查找到文档之后,在显示控制台查看。在查看文件的同时,可以: ?浏览其他页用这些页的上下部的箭头,或者用工具栏的前后键。 ?书签页点击工具栏“添加到收藏夹”键。 ?打印页 点击工具栏“打印”键。 ?在该页查询词在工具栏的“在页搜索”区键入搜索词,然后点击Go。 其他在显示控制台的可用功能有:复制信息,提炼选择内容,以及浏览网页。 更多帮助更多帮助 除了帮助浏览之外,还可以用帮助函数。要得到一个特定函数的帮助信息,用 doc。例如,doc format 是显示在帮助浏览器中关于格式函数的帮助信息。其他得 到帮助信息的方式包括联系技术支持(http:/ 参加MATLAB用户而设的新闻组

15、:comp.soft-sys.matlab。 编辑器/调试器编辑器/调试器 编辑器/调试器是用来生成和调试M-文件的,这些M-文件是你为运行MATLAB函数所 写的程序。编辑器/调试器为基本文字编辑和M文件的调试提供图形用户界面。 发射台 当前目录浏览器 Getting StartedGetting Started 你可以使用任何文档编辑器来生成M-文件,例如Emacs,也可以用参数选择(可从 桌面文件菜单得到)来指定默认的编辑器。如果用的是别的编辑器,你仍然可以 使用MATLAB的编辑器/调试器来调试,或者使用用来插入断点的调试程序,例如 dbstop。 如果仅仅是要看看M-文件的内容,你可

16、以用type命令使它命令窗口中显示。 命令窗口命令窗口 运用命令窗口去调入变量,运行函数和M-文件。如要得到更多的关于控制输出与 输入的信息,请看控制命令窗口输入与输出。 工作空间浏览器 其他开发环境特征 Getting StartedGetting Started 命令历史命令历史 在控制窗的输入内容都被记录在 命令历史窗口中。在命令历史中,你可以看到以 前用过的函数,并且可以复制和执行选定行。 要从MATLAB任务到一个文件保存输入与输出的内容,可以用diary函数。 运行外部程序运行外部程序 你可以在MATLAB控制窗口中运行外部程序。感叹号!为起点就可以跳出当前程 序,也意味着之后的输

17、入内容就是对操作系统的的命令。这对于调用效用或运行 其他程序而不关闭MATLAB有益。例如,在Linux中: !emacs magik.m 调用一个叫emacs的编辑器来对magik.m文档操作。当你关闭外部程序时,操作系 统会自动回到MATLAB。 发射台发射台 MATLAB的发射台提供了进入工具箱、演示和文件的简单入口。 当前目录浏览器当前目录浏览器 MATLAB文档的所有操作是以当前目录或者搜索路径作为参考点的。你需要运行的 桌面工具 发射台 Getting StartedGetting Started 命令窗口 帮助浏览器 Getting StartedGetting Started

18、任何文档都必须在当前目录下或者搜索目录下完成MATLAB。 一种快速查看或者改变当前路径的方法是用下面所示工具栏中的“当前目录“。 如果要搜索、查看、打开或者改变MATLAB相关目录以及文档,就要用到MATLAB “当前目录浏览器”或者,也可以用dir, cd和delete。 搜索路径搜索路径 要决定怎样去执行你所调用的函数,MATLAB利用“搜索路径“去查找在文件系统目 录中已经安排好的M-文件和MATLAB相关文件。任何要用MATLAB运行的文档都必须 在当前目录下或者在搜索路径里的目录中。在默认情况下,MATLAB和MathWorks工 具箱所以支持的文档都在搜索路径中。 要查看哪个目录

19、在搜索路径下或者要改变搜索路径,请在桌面FileFile菜单中选择Set Path Set Path,然后利用Set PathSet Path对话框。当然,你可以用path函数来查看搜索路径,用 addpath把目录加到路径下,用rmpath可以从路径中删除目录。 工作空间浏览器工作空间浏览器 MATLAB工作空间包含内建MATLAB处理任务时以及储存在记忆体中的变量排列。你 可以通过使用函数、运行M-文件、装载已存文件等方式增加变量到工作区。 要查看关于每个变量的工作空间和信息,请用工作空间浏览器,或用who和whos函 数。 要在工作空间删除一个变量,先选择那个变量,然后从EditEdit

20、菜单中选择DeleteDelete, 或者用clear命令。 当你退出MATLAB后,工作空间的内容是不会继续存在的。如果要把工作空间保存 到一个文件里,以便下次的MATLAB任务中能够读出来,选择FileFile菜单中Save Workspace As Save Workspace As的,或者用save命令。这把工作空间保存到一个叫做MAT-文件的二进 制文件,它的后缀名是.mat。另外,还有选项可以把文件保存成不同的格式的。 要读出一个MAT-文件,选择FileFile菜单中的Import DataImport Data,或者用load命令。 帮助浏览器 工作空间浏览器 Getting

21、StartedGetting Started 数组编辑器数组编辑器 在工作空间浏览器里双击一个变量后,会弹出一个数组编辑器。你可以用这个数 组编辑器来查看或者编辑在工作空间里的一维或者二维的数值矩阵,字符串和字 符串的单元数组的直观表示。 其他开发环境特征其他开发环境特征 其他开发环境特征有: ?Importing and Exporting Data - 通过其他的操作引入或者导出已被创建 的数据到工作界面,包括引入向导,以及其他命令引进的数据包。 ?Improving M-File Performance - Profiler是一种衡量文件运行时间的工 具,使用它能帮助你提高运行速度。 ?

22、Interfacing with Source Control Systems - 从MATLAB, Simulink,和 Stateflow中存取资源控制系统。 ?Using Notebook - 从文字处理器的环境(Microsoft Word)存取MATLAB的数 值计算和可视化软件进行MATLAB的数字运算,使整个运算过程能很清晰的显 示出来。 当前目录浏览器 编辑器/调试器 Getting StartedGetting Started MATLAB桌面MATLAB桌面 当你进入MATLAB,MATLAB桌面显现出来,包含管理文件的工具(图形用户界面),变 量,以及与MATLAB关联的

23、应用软件。 第一次启动MATLAB时,即使你的发射台窗口可能包含不同的条目,桌面也出现如 下显示图象。 编辑器/调试器 矩阵操作 Getting StartedGetting Started 你可以通过打开,关闭,移动和调整界面里的工具来改变界面的外观。你还可以 将工具移动出界面或返回界面里(称为“入船坞“,docking)。所有的界面工具提 供共同的特征,如上下文菜单和键盘的快捷操作。 你可以通过FileFile菜单里的参数选择为界面工具指定某一个特征。例如,你可以为 命令窗口文本指定字体特征。如要得到更多信息,请点击参数选择对话框中的 HelpHelp按钮。 开发环境 开发环境 导言导言

24、这一章简短地介绍启动和退出MATLAB,并介绍以及帮助你运行MATLAB中的变量和 文件的工具和函数。如果想得到更多关于这里提到的主题的信息,请看MATLAB文 件中的Development Environment相应主题,也可以在线查阅。 启动与退出MATLAB启动与退出MATLAB 启动MATLAB启动MATLAB 在微软Windows平台下,要启动MATLAB,请双击在Windows桌面上的MATLAB快捷方式 图标。 在UNIX平台下,要进入MATLAB,在操作系统提示符处输入matlab。 启动MATLAB后,MATLAB窗口打开了-请看MATLAB桌面。 你可以改变进入MATLAB

25、启动的路径,定义包含一个在启动上的脚本的启动选项, 从而在某些状况下减少启动时间。 退出MATLAB退出MATLAB 要结束MATLAB,从桌面FileFile菜单选择Exit MATLABExit MATLAB, 或者在命令窗口中输入quit。 要在MATLAB每次退出时执行指定的函数,譬如保存工作空间,你可以建立并运行一 个finish.m脚本。 开发环境 桌面工具 Getting StartedGetting Started MATLAB在线帮助 MATLAB桌面 矩阵操作 矩阵操作 矩阵和魔方矩阵和魔方 在MATLAB里,矩阵由数字行列构成。有时也指1*1矩阵,它是标量,而一行或一列

26、的矩阵指代向量。MATLAB有另外一些存储数字与非数字数据的方法,但在开始的 阶段,最好将一切以矩阵看待。MATLAB内的操作被设计得尽可能接近自然语言。 别的程序设计语言以一次处理一个数据,MATLAB则让你简单而快捷地处理一整个 矩阵。有一个贯穿此书的很好的例子,它出现在德国的一个艺术家兼业余数学爱 好者阿布列西特.杜勒的作品-文艺复兴雕版画-忧郁者I中。 Getting StartedGetting Started 这幅图布满了各种各样的数学符号,而且如果你仔细观察的话就会发现在右上角 有一个矩阵。那个就是奇妙的魔方矩阵,早在杜勒的时代人们就相信它有不可思 议的性质。而它的确具有值得人们

27、去研究的神奇特性。 矩阵的利用矩阵的利用 这部分将介绍矩阵的其他产生方法。 生成矩阵生成矩阵 MATLAB提供产生基本矩阵的四个函数: 其他开发环境特征 输入矩阵 Getting StartedGetting Started 表达式举例 生成矩阵 Getting StartedGetting Started zeros 产生一个全零矩阵 ones 产生一个全1矩阵 rand 产生一个元素是均匀分布随机数的矩阵 例如: Z = zeros(2,4) Z = 0 0 0 0 0 0 0 0 F = 5*ones(3,3) F = 5 5 5 5 5 5 5 5 5 N = fix(10*rand(

28、1,10) N = 4 9 4 4 8 5 2 6 8 0 R = randn(4,4) R = 1.0668 0.2944 -0.6918 -1.4410 0.0593 -1.3362 0.8580 0.5711 -0.0956 0.7143 1.2540 -0.3999 -0.8323 1.6236 -1.5937 0.6900 加载命令加载命令 加载命令load读出含有由早期MATLAB版本形成的矩阵的二进制文件,或者读出含有 数值数据的文本文件。文本文件应该由一个数字的矩阵表格构成,由空格隔开, 每一线排一行,而且每一行有相同数量的元素。例如,在MATLAB外部,创建一个 含有这四行的

29、文本文件。 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 以magik.dat为名储存这个文件。而命令 load magik.dat randn 产生一个元素是正态分布的随机数的矩阵 矩阵的利用 加载命令 Getting StartedGetting Started 读这个文件并创建一个含有我们的矩阵例子的变量magik。 在许多文本或者二进制格式中,一个把数据读进MATLAB的简易方法师用输入向 导。 M-文件M-文件 你可以用M-文件创建你自己的矩阵,这些M-文件是包含MATLAB代码的文本文件

30、。 用MATLAB编辑器或另一种文本编辑器去创建一个文件,它包含你将输入到MATLAB 命令行的同样的语句。用一个后缀名为.m的名字保存该文件。 例如,创建一个文件含有这五行。 A = . 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0 ; 用名字magik.m保存该文件,然后语句 magik 读出该文件并产生一个变量A,含有我们的矩阵示例。 连接连接 连接是一个合并小矩阵成大矩阵的过程。事实上,你创建第一个矩阵时就是通过 将它的各自独立的元素连接在一起的。中括号是连接的算子。例如,以4*4魔方 A开

31、始,构造 B = A A+32; A+48 A+16 结果是含有加入的四个子矩阵的88矩阵。 生成矩阵 M-文件 Getting StartedGetting Started 加载命令 连接 Getting StartedGetting Started B = 16 3 2 13 48 35 34 45 5 10 11 8 37 42 43 40 9 6 7 12 41 38 39 44 4 15 14 1 36 47 46 33 64 51 50 61 32 19 18 29 53 58 59 56 21 26 27 24 57 54 55 60 25 22 23 28 52 63 62 4

32、9 20 31 30 17 这个矩阵仅是成为另一个魔方的过渡。它的元素是一群重新整理的1:64的整数。 它的列加起来是一个88魔方的修正值。 sum(B) ans = 260 260 260 260 260 260 260 260 但是它的行加起来sum(B),并不是相同的。因此要做一个有效的88魔方需要 更多的操作。 行与列的删除行与列的删除 你只要使用一对方括弧就能够删除一个矩阵的行和列。以 X = A; 开始。然后,删除X的第二列,使用 X(:,2) = 这使X变为 X = 16 2 13 5 11 8 9 7 12 4 14 1 如果你删除矩阵的单个元素,其结果就不再是矩阵了。所以,如

33、下的表达式 X(1,2) = M-文件 行与列的删除 Getting StartedGetting Started 导致错误。然而,用单独的下标则是删除一个单独元素或连续的元素,并把剩下 的元素改成行向量的形状。因此 X(2:2:10) = 的结果是 X = 16 9 2 7 13 12 1 关于矩阵和数组的其他内容关于矩阵和数组的其他内容 这一节将给你展现更多关于矩阵和数组的内容。集中在以下内容: ?线性代数 ?数组 ?多元数据 线性代数线性代数 简单的说,矩阵和数列这两个术语是经常可以替换使用的。更准确地说,矩阵是 一个表示线性变换的二维数字数组。矩阵定义下的数学运算是线性代数的主题。 杜

34、勒的魔方 A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1 提供了几个例子,给出了MATLAB矩阵运算的一点味道。你已经看到了矩阵转置 A,加一个矩阵到它的转置得到一个对称矩阵。 连接 关于矩阵和数组的其他内容 Getting StartedGetting Started 行与列的删除 线性代数 Getting StartedGetting Started A + A ans = 32 8 11 17 8 20 17 23 11 17 14 26 17 23 26 2 乘号*表示包括行与列的内积矩阵的乘法。用矩阵去乘它的转置也能得到对称矩 阵。 A*A an

35、s = 378 212 206 360 212 370 368 206 206 368 370 212 360 206 212 378 这矩阵的行列式为0,表示该矩阵是奇异阵。 d = det(A) d = 0 A的简化行阶梯型不是单位矩阵。 R = rref(A) R = 1 0 0 1 0 1 0 -3 0 0 1 3 0 0 0 0 由于矩阵是奇异的,因而它没有逆矩阵。如果你试图计算它的逆: X = inv(A) 你会得到警告信息: Warning: Matrix is close to singular or badly scaled. Results may be inaccurat

36、e. RCOND = 1.175530e-017. 四舍五入的误差从精确奇异性的探测中阻止了矩阵转置的算法。但是rcond的值 (表示倒数条件估计)是和eps即浮点相对精度同阶数的,因此计算得的逆不太可 能有用。 魔方的特征值很有趣。 e = eig(A) e = 34.0000 8.0000 0.0000 -8.0000 特征值之中有一个为零。这是奇异性的另一个结论。最大的特征值为34,为幻 和。那是因为元素全为1的向量是特征向量。 v = ones(4,1) v = 1 1 1 1 A*v ans = 34 34 34 34 当魔方按照它的幻和为比例分配时, P = A/34 结果是双重随

37、机矩阵,其行与列之和全是1。 P = 0.4706 0.0882 0.0588 0.3824 0.1471 0.2941 0.3235 0.2353 0.2647 0.1765 0.2059 0.3529 0.1176 0.4412 0.4118 0.0294 这样的矩阵表示转换的概率是一个马尔科夫(Markov)过程。矩阵重复的幂次表示 过程重复的步骤。对于我们的例子,第5次方 P5 是 0.2507 0.2495 0.2494 0.2504 0.2497 0.2501 0.2502 0.2500 0.2500 0.2498 0.2499 0.2503 0.2496 0.2506 0.250

38、5 0.2493 这表示当k趋于无穷大时,所有元素的k次方Pk趋于1/4。 最后,特征多项式中的系数 poly(A) 是 1 -34 -64 2176 0 这表明特征多项式 det( A - I ) 是 4 - 343 - 642 + 2176 常数项是零,因为矩阵是奇异的,立方项系数是-34,因为矩阵是魔方! 数组数组 当把矩阵从线性代数的世界中“取”出来时,它们变成二维数组。数组上的算术 运算是元素对元素进行的。也就是说加减对于数组和矩阵是一样的,但乘法运算 则不同。MATLAB用一个点或小数点作为数组乘法运算符号。 一系列的算子包括: 关于矩阵和数组的其他内容 数组 Getting St

39、artedGetting Started + 加法 - 减法 .* 元素对元素乘法 ./ 元素对元素除法 . 元素对元素左除 如果杜勒的魔方用数组乘法自乘 A.*A 结果是包括1到16的平方的不寻常次序的数组。 ans = 256 9 4 169 25 100 121 64 81 36 49 144 16 225 196 1 建立表格建立表格 数组运算对建立表格很有用。设n是列向量 n = (0:9); 那么 pows = n n.2 2.n 建立一个平方以及2的乘方的数表。 pows = 0 0 1 1 1 2 2 4 4 3 9 8 4 16 16 5 25 32 6 36 64 7 49

40、 128 8 64 256 9 81 512 初等数学函数在数组上是元素对元素运算的。故 format short g x = (1:0.1:2); logs = x log10(x) 建立一个对数表。 . 元素对元素求幂 . 不取共轭的数组转置 logs = 1.0 0 1.1 0.04139 1.2 0.07918 1.3 0.11394 1.4 0.14613 1.5 0.17609 1.6 0.20412 1.7 0.23045 1.8 0.25527 1.9 0.27875 2.0 0.30103 多元数据多元数据 MATLAB对多元统计数据用列导向分析。数据集中每一列表示一个变量,

41、每一行则 表示观察值。第(i,j)个元素是第i次观察值的第j个变量。 作为一个例子,考虑一个三变量数据集: ?心率 ?体重 ?每周锻炼小时数 对5次观察值,结果数组可能如下: D = 72 134 3.2 81 201 3.5 69 156 7.1 82 148 2.4 75 170 1.2 第一行包含患者1的心率,体重和锻炼时间,第二行含有患者2的数据,等等。现 在你能对这个数据集用MATLAB的多种数据分析函数。例如,计算每列的均值和标 准差: mu = mean(D), sigma = std(D) mu = 75.8 161.8 3.48 sigma = 线性代数 多元数据 Getti

42、ng StartedGetting Started 5.6303 25.499 2.2107 要查看MATLAB中可用的一系列数据分析函数,键入 help datafun 如果你想使用统计工具箱,键入 help stats 标量扩张标量扩张 矩阵和标量可用几种不同方法合并。例如,通过从矩阵中每元素减去同一个数, 矩阵就减去了一个标量。我们的魔方中元素的平均值是8.5,因此 B = A - 8.5 组成一个列向量和为零的矩阵。 B = 7.5 -5.5 -6.5 4.5 -3.5 1.5 2.5 -0.5 0.5 -2.5 -1.5 3.5 -4.5 6.5 5.5 -7.5 sum(B) an

43、s = 0 0 0 0 通过标量扩张,MATLAB把一个特定的标量在一定范围内赋给所有指标,例如: B(1:2,2:3) = 0 使B的一部分变成0。 B = 7.5 0 0 4.5 -3.5 0 0 -0.5 0.5 -2.5 -1.5 3.5 -4.5 6.5 5.5 -7.5 数组 标量扩张 Getting StartedGetting Started 逻辑下标逻辑下标 从逻辑和有关运算创建的逻辑向量可以用于参考子数组。设X是普通的矩阵,L是 由一些逻辑运算得到的同尺寸的矩阵。那么X(L)指定X的元素中L的元素非零的部 分。 通过指定逻辑运算为下标表达式,这种下标可以一步完成。设有下列数

44、据集。 x = 2.1 1.7 1.6 1.5 NaN 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8 NaN 表示一次丢失的观察值,譬如对一份问卷调查中的某项未答。要用逻辑标定指 数移除丢失数据,用finite(x),它对于所有有限数值和NaN及Inf(无穷大)都正 确。 x = x(finite(x) x = 2.1 1.7 1.6 1.5 1.9 1.8 1.5 5.1 1.8 1.4 2.2 1.6 1.8 这里还有一个观察值5.1,它似乎和其他有很大差别。它是一个局外者。以下语句 把局外者删除,在此例中是指那些到均值距离超过标准差3倍的元素。 x = x(ab

45、s(x-mean(x) 为右三角形, tol); 函数M-文件的第一行以关键字function开头。它给出函数名和变元的顺序。在此情 况下,有最多两个输入变元和一个输出变元。 下面的几行,到第一个空格或可执行,都是提供帮助文本的注释行。输入以下语 句则把这些行输出 help rank 帮助文件的第一行是H1行,当你用lookfor命令或在目录请求帮助时MATLAB会显示 出。 文件其余部分是定义函数的可执行MATLAB代码。类似第一行的变量r,A和tol,函 数体中引入的变量s对于函数也是局部变量;它们在MATLAB工作空间里独立于任何 变量。 此例说明了MATLAB不同于其他程序语言的一个方

46、面-一个可变的变元数目。有几 种方法可以使用rank函数。 rank(A) r = rank(A) r = rank(A,1.e-6) 许多M-文件都这样工作。若无输出变元提供,结果保存于ans。若第二个输入变元 未提供,则函数计算一个默认值。在函数体内,有两个名为nargin和nargout的数量 可用,它们告诉你在某特定应用中输入或输出的变元个数。rank函数用nargin,不 用nargout。 全局变量全局变量 如果你要多于一个函数共用一个简单的变量,简单的处理方法就是把这个变量在 脚本 全局变量 Getting StartedGetting Started 所有函数中定义为globa

47、l全局变量。在命令行做同样的事情,如果你要工作空间访 问上述变量。这个全局变量的定义必须出现在变量被应用于一个函数之前。虽然 不是要求,但全局变量也最好以大写字母开头,这样可以同其他变量区别出来。 举个例子,做一个以falling.m命名的M文件。 function h = falling(t) global GRAVITY h = 1/2*GRAVITY*t.2; 然后交互地输入语句 global GRAVITY GRAVITY = 32; y = falling(0:.1:5); 这两个变量在函数中表示同一个内容。之后你可以交互地修改GRVITY并获得新的 解法,而不用再编辑文档。 把字符串变元赋给函数把字符串变元赋给函数 可以编写认可字符串变元的MATLAB函数,而无须用括号或引号。也就是说, MATLAB把 foo a b c 理解为 foo(a,b,c) 然而,当用非引用形式时,MATLAB不能返回变元。例如, legend apples oranges 在一幅图创立一个图例并用字符串apples和oranges作为标签。若想legend命令返回

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

当前位置:首页 > 其他


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