2.3 多维数组
正如我们所看到的,MATLAB的数组可能是一维或多维的。一维的数组可以形象地看作一系列的数垂直地罗列起来,用一个下标就可以调用数组中的元素。这样的数组适用于一个变量的函数,例如在规定的时间间隔后一系列的测量温度。许多数据的类型需要多变量的函数。我要在5个不同的地方,每个地方测4次温度。在这种情况下,我们的20次测量结果在逻辑上分为五个不同的行,每行有4个测量结果。在这种情况下,我们就需要两个下标来调用这个数组特定的函数:第一个下标选择行,第二个下标选择列。这样的数组叫做二维数组。二维数组中元素的个数取决于这个数组的行数和列数。出于问题的需要,MATLAB允许我们创建多维数组。这些数组的每一维对应一个下标,和每一个单个元素都可以通过它的每一个下标被调用。在这个数组中元素的总和取决于每一维中元素的个数。下面两个语句创建了一个2×3×2数组:
c(:,:,1)=[1,2,3;4,5,6];
c(:,:,2)=[7,8,9;10,11,12];
这个数组(2×3×2)包括12个元素,它的内容显示方法和其他数组的显示方法大体相同:
c(:,:,1) =
1 2 3
4 5 6
c(:,:,2) =
7 8 9
10 11 12
2.3.2 多维数组在内存中的存储
一个有m行和n列的二维数组包括m×n个元素,这些元素在计算机的内存中将会占有m×n个连续的内存空间。这些数组的元素在内存中是如何排列的呢?MATLAB以列主导顺序分配数组中的元素。也就是说,内存先分配第一列的元素,然后第二列,第三列。你是否也曾对多维数组的存储方式感到好奇呢?可以看看多维数组介绍了解更多!
不仅MATLAB,其他编程语言也有类似的多维数组概念。C++ 数组多维数组二维数组详细介绍了C++中多维数组的使用,而浅谈java中的一维数组二维数组三维数组多维数组则讲解了Java中多维数组的创建与操作。
是不是感觉多维数组有点复杂呢?别担心,MATLAB的多维数组操作指南可以帮你理清思路,点此了解更多!
暂无评论