matlab中维数的理解

a =
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
就上面这样一个矩阵而言,它有3行5列
第一维:行维,即行向,也即垂直方向,维数为3,就矩阵a而言
第二维:列维,即列向,也即水平方向,维数为5
第三维:页,类似课本的一页一页,每一页是个平面,可以放一个类似a的二维矩阵
第四维:没有其他名字了,就是一个抽象的概念
第五维:类似第四维,
.
假设我利用ones函数得到一个矩阵
b=ones(4,5,3);
那么这个4就对应矩阵第一维的维数,如上所言,就是说b有4行
同理5就是说有5列,3就是说有3页

1、一维数组
>> a=1:10

a =

     1    2    3     4    5    6     7    8    9    10

>> 
一维数组可以看做向量,是由一行数据或者一列数据所组成,其大小为1xn或者是nx1。

2、二维数组

>> b=[1 2 3;4 5 6]

b =

     1    2    3
     4    5    6

>> 
二维数组是是由有一定的行数列数的数据组成,如上所示,其大小为mxn。
二维数组可以看做是一维数组的扩展,他们的性质基本相同。

在matlab中,其最基本的数据单元就是矩阵,而矩阵只是二维数组的一个形式,因为它的应用非常广泛,所以赋予其独特的运算以及操作形式,所以在matlab中,二维数组就是矩阵。

利用查看数组的维数函数ndims查看:
>> ndims(a)

ans =

    2
>> ndims(b)

ans =

    2

>> 
可以看出,在matlab中,一维数组和二维数组的维数都是一样的,并没有什么区别;一维数组可以看做是1xn或nx1的矩阵。不管是一维数组或者二维数组,他们的维数是相同的,这一点有时候比较难理解。

3、多维数组

创建一个正态随机数的3x2x3的数组
>> c=randn(3,2,3)

c(:,:,1) =

   -0.4326   0.2877
   -1.6656  -1.1465
    0.1253   1.1909


c(:,:,2) =

    1.1892   0.1746
   -0.0376  -0.1867
    0.3273   0.7258


c(:,:,3) =

   -0.5883   0.1139
    2.1832   1.0668
   -0.1364   0.0593

查看其维数:

>> ndims(c)

ans =

    3

>> 
从而可以看出,这里建立了一个三维数组,这个三维数据是由三个3x2的矩阵组成。

多维数组可以这样理解:
一维数组(向量)看做某一本书中某一页的一行(一列);
二维数组看做是由多行多列(多个一维数组)组成的一本书中的一页;
三维数组看做是由多页(多个矩阵)组成了一本书;
四维数组看做是由多本书(多个三维数组)组成了一个书架中的某一排.......
.......
.......

猜你喜欢

转载自blog.csdn.net/fill_mood/article/details/80036211
今日推荐