MATLAB软件多维数组的创建

2020年10月30日16:22:58MATLAB软件多维数组的创建已关闭评论

MATLAB软件多维数组的创建

对于二维数组和三维数组而言,创建方法和一维数组的创建方法不同。

二维数组(也就是矩阵)可以通过以下几种方法来创建。

(1)直接输入二维数组的元素来创建,此时,二维数组的行和列可以通过一维数组的方式来进行创建,不同行之间的数据可以通过分号进行分隔,同一行中的元素可以通过逗号或空格来进行分隔。

(2)通过MATLAB的Array Editor来输入二维数组。创建方法为,单击New Variable创建图标,此时系统在工作空间的变量列表中出现新的矩阵变量,用户可以改变变量的名称。同时,在MATLAB的工作空间出现矩阵编辑器表格,可以直接输入矩阵的数据。

(3)对于大规模的数据,可以通过数据表格方式来输入,此时可以单击选择工作空间的Import Data图标,选中已经编写好的矩阵数据文件后,导入工作空间中。

(4)可以通过MATLAB所提供的其他函数来生成二维数组。

例2.54 二维数组的创建。

>> A=[1 2 3 4 5;linspace(0,6,5);1:2:9;4:8]

A =

1.0000 2.0000 3.0000 4.0000 5.0000

0 1.5000 3.0000 4.5000 6.0000

1.0000 3.0000 5.0000 7.0000 9.0000

4.0000 5.0000 6.0000 7.0000 8.0000

>> A=[1 2 3 4 5;linspace(0,6,5);1:2:9;4:9]

Error using vertcat

CAT arguments dimensions are not consistent.

>> B=[1 2 3

4 5 6

7 8 9]

B =

1 2 3

4 5 6

7 8 9

在创建二维数组的过程中,需要严格保证所生成矩阵的行和列的数目相同。如果两者的数目不同,那么系统将会出现错误提示。此外,在直接生成矩阵的过程中,可以通过按回车键来保证矩阵生成另一行元素。

多维数组(n维数组),如在三维数组中存在行、列和页这样三维,即三维数组中的第三维成为页。在每一页中,存在行和列。在MATLAB中,可以创建更高维的n维数组。但实际上主要用到的还是三维数组。三维数组的创建方法有以下几种。

(1)直接创建方法。在生成过程中,可以选择使用MATLAB提供的一些内置函数来创建三维数组,如zeros、ones、rand、randn等。

(2)通过直接索引的方法进行创建。

(3)使用MATLAB的内置函数reshape和repmat将二维数组转换为三维数组。

(4)使用cat函数将低维数组转化为高维数组。

例2.55 三维数组的创建。

>> A=zeros(5,4,2)

A(:,:,1)=

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

A(:,:,2)=

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

0 0 0 0

>> B=zeros(3,3)  %通过创建三维数组来扩展

B =

0 0 0

0 0 0

0 0 0

>> B(:,:,2)=ones(3,3) %向三维数组中添加三维数组来增加页

B(:,:,1)=

0 0 0

0 0 0

0 0 0

B(:,:,2)=

1 1 1

1 1 1

1 1 1

>> B(:,:,3)=5  %通过标量扩展得到三维数组的另外一页

B(:,:,1)=

0 0 0

0 0 0

0 0 0

B(:,:,2)=

1 1 1

1 1 1

1 1 1

B(:,:,3)=

5 5 5

5 5 5

5 5 5

>> C=reshape(B,3,9)  %得到三维数组

C =

0 0 0 1 1 1 5 5 5

0 0 0 1 1 1 5 5 5

0 0 0 1 1 1 5 5 5

>> C=[B(:,:,1)B(:,:,2)B(:,:,3)] %直接扩展得到三维数组

C =

0 0 0 1 1 1 5 5 5

0 0 0 1 1 1 5 5 5

0 0 0 1 1 1 5 5 5

>> reshape(C,3,3,3) %将得到的三维数组重新生成三维数组

ans(:,:,1)=

0 0 0

0 0 0

0 0 0

ans(:,:,2)=

1 1 1

1 1 1

1 1 1

ans(:,:,3)=

5 5 5

5 5 5

5 5 5

>> A1=zeros(2)

A1 =

0 0

0 0

>> A2=ones(2)

A2 =

1 1

1 1

>> A3=repmat(2,2,2)

A3 =

2 2

2 2

>> A=cat(3,A1,A2,A3)  %在第三维上合并低维数组

A(:,:,1)=

0 0

0 0

A(:,:,2)=

1 1

1 1

A(:,:,3)=

2 2

2 2

>> A=cat(2,A1,A2,A3)  %在第二维上合并低维数组

A =

0 0 1 1 2 2

0 0 1 1 2 2

>> A=cat(1,A1,A2,A3)  %在第一维上合并低维数组

A =

0 0

0 0

1 1

1 1

2 2

2 2

通过以上可以看出,三维数组可以通过多种方法进行创建。在利用内置函数创建过程中,关于这些函数的其他用法,读者可以通过help命令查找相应的帮助文件。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。