购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 创建数值数组

创建数组是所有MATLAB运算和操作的基础,针对不同维度的数组,MATLAB提供了多种创建方法,分别可以创建不同要求的数组类型。在本节中,将分别根据数组维度以及方法的不同来介绍如何创建数组。

2.1.1 一维数组的创建方法

在MATLAB中,一维和二维数组都被认为是比较低维的数组。它们的创建方法比较简单,同时,也是创建高维数组的基础条件,下面将以简单的例子来说明如何在MATLAB中创建各种不同的数组类型。

例2.1 在MATLAB中,使用不同的方法来创建一维数组。

在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到以下结果:

上面的结果基本演示了在MATLAB中创建一维数组的方法。

直接输入法: 在上面的程序代码中,data1和data2就是直接输入法。其中data1在输入数据的时候,使用了分号,创建了一维列数组;data2则在创建过程中使用了空格,因此创建了一维行数组。

步长生成法: 在上面的程序代码中,data3和data4的创建方法就是步长生成法,其通用方法是a:inc:b,其中a表示的是数组的第一个元素,inc是创建数组之间的间隔,也就是步长,b则是数组中的最后一个元素。其中inc可以省略,默认的数值为1。

定数线性采样法: 在上面的程序代码中,data5的创建方法就是定数线性采样方法,该方法在设定“总个数”的条件下,均匀采样分布生成一维行数组,这种方法的调用格式为:x=linspace(a,b,n),其中a和b分别是数组的第一个和最后一个元素,n表示的是采样点数。

定数对数采样法: 在上面的程序代码中,data6的创建方法就是定数对数采样法。这种方法在设定“总个数”的条件下,经过“常用对数”采样生成一维行数组。这种方法的调用格式为x=logspace(a,b,n)。

说明

在步长生成法中,步长参数inc的数值可以是正数,也可以是负数,当inc是正数的时候,必须满足a<b;当inc是负数的时候,必须满足a>b。

2.1.2 二维数组的创建方法

在本节中将介绍如何在MATLAB中创建二维数组。

例2.2 在MATLAB中创建二维数组。

在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口输入变量名称,可以得到下面的程序结果:

上面的例子基本演示了在MATLAB中创建二维数组的方法,Data1的创建方法比较直接,得到的结果就是输入的结果;Data2的创建方法则是更加普遍的方法,关于该方法需要注意下面的内容:

◆ 整个输入数组必须以方括号“[]”作为创建的首尾。

◆ 数组的行和行之间必须用分号“;”间隔。

◆ 数组的列和列之间必须用逗号“,”间隔。

提示

上面使用的创建方法适用的范围比较窄,当数组的行或者列数比较大的时候,该创建方法就会显得比较烦琐,至于其他方法将在后面章节中加以介绍。

2.1.3 使用下标创建三维数组

在MATLAB中,习惯将二维数组的第一维称为“行”,第二维称为“列”,而对于三维数组,其第三维则习惯性地称为“页”。在MATLAB中,将三维或者三维以上的数组统称为高维数组。由于高维数组的形象思维比较困难,在本节中将主要以三维为例来介绍如何创建高维数组。

例2.3 使用下标引用的方法创建三维数组。

在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到下面的程序结果:

创建新的高维数组。在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到下面的程序结果:

说明

从结果中可以看出,当使用下标的方法创建高维数组的时候,需要使用各自对应的维度的数值,没有指定的数值则在默认情况下为0。

2.1.4 使用低维数组创建三维数组

本节将介绍如何在MATLAB中使用低维数组创建三维数组。

例2.4 使用低维数组创建高维数组。

在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到以下结果:

提示

从结果中可以看出,由于三维数组中“包含”了二维数组,因此可以通过二维数组来创建各种三维数组。

2.1.5 使用创建函数创建三维数组

本节将介绍如何利用MATLAB的创建函数来创建三维数组。

例2.5 使用函数命令来创建高维数组。

使用cat命令来创建高维数组。在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到以下结果:

说明

cat命令的功能是连接数组,其调用格式为C=cat(dim,A1,A2,A3,A4...),其中,dim表示的是创建数组的维度,A1,A2,A3,A4表示的是各维度上的数组。

使用repmat命令来创建数组。在MATLAB的命令窗口中输入下面的程序代码:

查看程序结果。在命令窗口中输入变量名称,可以得到以下结果:

说明

repmat命令的功能在于复制并堆砌数组,其调用格式B=repmat(A,[m n p...])中,A表示的是复制的数组模块,第二个输入参数则表示该数组模块在各个维度上的复制个数。

使用reshape命令来创建数组。在MATLAB的命令窗口中输入以下代码:

查看程序结果。在命令窗口中输入变量名称,可以得到如下结果:

说明

reshape命令的功能在于修改数组的大小,因此可以将二维数组通过该命令修改为三维数组,其调用格式为B=reshape(A,[m n p...]),其中 A 就是待重组的矩阵,后面的输入参数则表示数组各维的维度。

2.1.6 创建低维标准数组

除了前面介绍的方法,MATLAB还提供了多种函数来生成一些标准数组,用户可以直接使用这些命令来创建一些特殊的数组,下面将使用一些简单的例子来说明如何创建标准数组。

例2.6 使用标准数组命令创建低维数组。

在MATLAB的命令窗口中输入以下代码:

查看程序结果。在命令窗口中输入变量名称,可以得到如下结果:

提示

并不是所有的标准函数命令都可以创建多种矩阵,例如eye、magic等命令就不能创建高维数组。同时,对于每个标准函数,参数都有各自的要求,例如gallery命令中只能选择3或者5。

2.1.7 创建高维标准数组

本节将介绍如何使用标准数组函数来创建高维标准数组。

例2.7 使用标准数组命令创建高维数组。

在MATLAB的命令窗口中输入以下代码:

查看程序结果。在命令窗口中输入变量名称,可以得到如下结果:

说明

限于篇幅,在这里就不详细介绍各种命令的参数和使用方法了,有需要的读者请自行阅读相应的帮助文件。 it5lvWLcJC2mHesYX9kEl66fPoCotOGEvg/yHhG5A92gj6YUS+ZX3r3AxL0vL1b7

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开