数学建模社区-数学中国

标题: 多维数组 [打印本页]

作者: 森之张卫东    时间: 2015-9-25 21:14
标题: 多维数组
                    多维数组
从MATLAB5.0版本开始支持多于二维的数组。这些多维数组用来显示多于二维的数据,或显示多个版本的二维图。例如,在一个三维空间中压力和速度的测量对于一些学科来说是非常重要的,例如空气动力学,流体力学。在这些领域中自然会用到多维数组。
多维数组是二维数组的扩展。每增加一维,它们所对应的每个元素就会多一个下角标。
我们可以轻易地创建一个多维数组。它既可以通过直接的赋值语句进行赋值,可用相同的函数进行创建(和一维二维中一样)。例如,假设你已经利用赋值语句创建了一个二维数组
>> a = [1 2 3 4; 5 6 7 8]
a =
     1     2    3     4
     5     6    7     8
这是一个2×4数组,每个元素被访问时,都应带有两个下标。这个数组可扩展为一个三维2×4×3数组,语句如下
>> a(:,:,2) = [9 10 11 12; 13 14 15 16];
>> a(:,:,3) = [17 18 19 20; 21 22 23 24]
a(:,:,1) =
     1     2    3     4
     5     6    7     8
a(:,:,2) =
     9    10   11    12
    13    14   15    16
a(:,:,3) =
    17    18   19    20
    21    22   23    24
在这个多维数组中的每一个元素都可以用它的函数名加上它的三个下标进行访问,数据下标的创建可以用克隆运算符。例如,a(2,2,2)的值为
>> a(2,2,2)
ans =
    14
向量a(1,1,
>> a(1,1,
ans(:,:,1) =
     1
ans(:,:,2) =
     9
ans(:,:,3) =
    17
多维数组也可以用与其他数据相同的函数进行创建
>> b = ones(4,4,2)
b(:,:,1) =
     1     1    1     1
     1     1    1     1
     1     1    1     1
     1     1    1     1
b(:,:,2) =
     1     1    1     1
     1     1    1     1
     1     1    1     1
     1     1    1     1
>> c = randn(2,2,3)
c(:,:,1) =
   -0.4326    0.1253
   -1.6656    0.2877
c(:,:,2) =
   -1.1465    1.1892
    1.1909   -0.0376
c(:,:,3) =
    0.3273   -0.1867
    0.1746   0.7258
多维数组的维数可以利用ndims函数得到,数组的大小可通过size函数得到。
>> ndims(c)
ans =
     3
>> size(c)
ans =
     2     2    3
如果你需要多数组编写应用程序,你可以通过阅读MATLAB user's guide来了解更多的多维数组函数的细节。
好的编程习惯
我们可以利用多维数组来解决自然界的多变量问题,如空气动力学和流体力学。







欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5