- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章__MATLAB7.0的矩阵和数组
第4章 MATLAB7.0的矩阵和数组 MATLAB的基本数据结构为矩阵,其所有运算都是基于矩阵进行的。从形式上看,矩阵可以理解成二维的数组,矩阵可以方便地存储和访问MATLAB中众多数据类型,构成矩阵的元素可以是MATLAB中的任何数据类型。本章主要讲解矩阵和数组的基本结构即操作内容包括矩阵的生成、矩阵的拼接、矩阵变形、矩阵元素的寻访、获取矩阵的信息,各种特殊矩阵类型以及高维数组的知识。 4.1 创建矩阵 矩阵是所有MATLAB运算的基础,用户如果要实现科学运算、程序设计、特性绘制等目标,必须要确定矩阵的类型,并建立矩阵。在MATLAB中创建一个矩阵可以有两种常用的方法,一是直接输入矩阵元素,另一种是调用矩阵创建函数。 4.1.1 输入元素创建简单矩阵 对于简单的矩阵,特别是元素数目不多的矩阵,逐个输入矩阵元素是最常用、最便捷的矩阵创建方法,其遵循以下3条原则: 运用矩阵构造符[]包含所创建矩阵的所有元素; 使用逗号“,”或者空格“ ”分隔矩阵的列; 使用分号“;”或者回车键分隔矩阵的行。 4.1.2 调用函数创建特殊矩阵 MATLAB7.0还提供了若干特殊矩阵的生成函数,在调用函数时,用户根据需要设置参数,就可以方便地得到需要的矩阵,常用的特殊矩阵函数列表如下。 4.2 拼接矩阵 矩阵的拼接是指两个或者两个以上的单个矩阵,按一定的方向进行连接,生成新的矩阵。从本质上说,矩阵的拼接就是一种创建矩阵的特殊方法,区别在于基础元素是原始矩阵,目标是新的合并矩阵。本节主要介绍矩阵拼接的两种方法,一是利用矩阵生成符[],另一种是调用矩阵拼接函数。 4.2.1 基本拼接 通常,矩阵的拼接有按照水平方向拼接和按照垂直方向拼接两种。例如,对矩阵A和B进行拼接,拼接表达式分别如下所示。 水平方向拼接:C=[A B]或C=[A,B]。 垂直方向拼接:C=[A;B]。 【例4.3】 把的魔术矩阵和的单位矩阵在水平方向上拼接成为一个的新矩阵,垂直方向上拼接成为一个的新矩阵。本例目的:熟悉矩阵的拼接方法和不同方向上拼接的区别。 4.2.2 拼接函数 除了使用矩阵拼接符[],还可以使用MATLAB7.0提供的矩阵拼接函数执行,具体的函数和功能列表如表所示。前三个函数的对应功能已经在前面的例子中做过示范,这里不再赘述。下面主要针对后两个指令举例说明其用法。 4.3 改变矩阵尺寸 矩阵的尺寸又称矩阵的大小。在MATLAB7.0中,用户可以方便地对矩阵的尺寸进行扩大和缩小,扩大矩阵的主要方式是拼接和添加元素,缩小矩阵的方式是删除矩阵中的某行或某列元素。 4.3.1 扩大矩阵的尺寸 在MATLAB7.0中,用户可以通过两种方式扩大矩阵的尺寸,一是进行矩阵拼接,二是在矩阵的尺寸之外添加元素。前者本书4.2节已经作了介绍,本小节主要介绍后一种方法。 4.3.2 缩小矩阵的尺寸 如果要让矩阵“变小”,也就是删除矩阵的某行或某列,只要把目标行或列赋予一个空矩阵[]即可。 4.4 改变矩阵形状 矩阵的形状和矩阵的尺寸一样是可以改变的,MATLAB为用户提供了若干函数,用来改变矩阵的形状,函数名称及功能如表所示。 4.5 向量、标量与空矩阵 MATLAB中的矩阵多数是以矩形的形式显示,但有时常出现特殊形式的矩阵,即由于和的取值特殊,矩阵常常表现出非矩形的特征。本节主要介绍三种特殊的矩阵结构:向量(vector)、标量(scalar)和空矩阵(empty matrix)。 4.5.1 向量 向量是行数或列数为1的特殊矩阵,其一般显示为1?n或n?1的数列。用户在构造新矩阵,以及对矩阵进行访问、修改等操作时,常用到向量数列。MATLAB提供了生成等差向量数列的符号—冒号,例如,(p:q)生成从p到q,差为1的递增向量数列。例如,创建10~1的等差递减数列,在命令窗口输入代码及执行结果如下。 v=(10:-1:1) v = 10 9 8 7 6 5 4 3 2 1 4.5.2 标量 标量是行列数都是1的特殊矩阵,任意以的矩阵形式表示的单个实数或复数,称之为标量。如下的实数x就是一个标量。实数5的维数为2,即行和列;且各维数值都为1。 x=5 x = 5 ndims(x) % 查看x的维数 ans = 2 size(x) %查看行、列维的数值 ans = 1 1 4.5.3 空矩阵 MATLAB中为了表示和操作的方便,引入了“空矩阵”的概念,其含义是至少一维的数值为0的矩阵。空矩阵可以是、和(n为正整数)。空矩阵不是全0矩阵,读者可以通过如下指令建立一个空矩阵a,再利用whos指令查看其名称、大小和数据类型。
文档评论(0)