#干货分享:
*高维数组*:在matlab中如何创建多维数组?
关注尚博|干货分享
什么叫一维数组?
例如a = [1,2,3,4] 可以理解为在坐标轴x轴方向上的变量。
什么叫二维数组?
例如b = [1,2,3,4;
5,6,7,8]
可以理解为在坐标轴x、y方向上的变量。
以上是我们学习线性代数代数所得到的认识
那么,
c=[1, 2, 34
123,143,153;
12, 163,53]
这个数组a
到底是几维呢?
三维?
答案是 从广义上讲,它是一个矩阵!!!
我们学习线性代数后,
我们知道a表示的是一个三行三列的矩阵,
我们用(2,1)来表示‘123’在c矩阵中的位置,
这是大家接触matlab时最容易犯的错误。
(笔者为什么要介绍这一个内容,因为我们在求解数学模型时,往往需要建立一个存储答案的“数据库”,这个 “数据库”是包含一一对应关系的,不是简单一个矩阵所能存储的,这个时候就往往需要高维数组了!)
那么三维数组到底是什么?
三位数组应该是可以刻画三维变量的,
即可以刻画三个坐标轴,
第三维也称为二维的厚度。
在Matlab中习惯性的会将二维数组中的第一维称为“行”,第二维称为“列”,而对于三维数组的第三维则是习惯性的称为“页”。在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础。
本文将介绍三种创建三维数组的方法。
(1).使用下标创建三维数组
在Matlab命令框中输入以下代码可以创建简单的三维数组:
for i=1:2
for j=1:2
for k=1:2
A(i,j,k)=i+j+k;
end
end
end
(2).我们可以先输入一个二维数组,然后通过第三维数组与其关系生成第三维数组
例如输入以下代码可以生成三维数组:
D2=[1,2,3;4,5,6;7,8,9];
D3(:,:,1)=D2;
D3(:,:,2)=2*D2;
D3(:,:,3)=3*D2;要查看程序结果。
输入:D2 并按【Enter】可以查看输入的二维数组。
得到:
D2 =
1 2 3
4 5 6
7 8 9
输入:D3 并按【Enter】可以查看生成的三维数组。
D3(:,:,1) =
1 2 3
4 5 6
7 8 9
D3(:,:,2) =
2 4 6
8 10 12
14 16 18
D3(:,:,3) =
3 6 9
12 15 18
21 24 27
(3).使用Cat命令来创建高维数组
Cat命令的语法为【C=cat(dim,A1,A2,A3,A4……)】其中dim表示的是创建数组的维度,A1,A2,A3,A4表示的是各维度上的数组。在命令窗口中输入以下代码即可创建一个简单的三维数组:
D2=[1,2,3;4,5,6;7,8,9];
C=cat(3,D2,2*D2,3*D2);
要查看程序结果
输入:C(:,:,1) 并按【Enter】
得到:
ans =
1 2 3
4 5 6
7 8 9
输入:C(:,:,2) 并按【Enter】
得到:
ans =
2 4 6
8 10 12
14 16 18
输入:C(:,:,3) 并按【Enter】
得到:
ans =
3 6 9
12 15 18
关注尚博,干货分享