学习触动和矩阵的维度问题

   算一算,从第一页到第三十九页我看了4个小时,最大的感受是关于MATLAB的帮助文件的使用。MATLAB的学习者与c语言学习者相比更加的小众,因此许多东西你在网上是找不到

只能查帮助文件了,幸亏MATLAB提供极其详细的帮助文件。(但我渣渣的英语呀)

  1:直接使用help命令:help 你所要查询的东西,但显示的东西比较粗略

  2:在command界面输入helpdesk,弹出帮助导航窗口界面

  3:在光标停在你想查询的东西上,按下F1,自动回弹出个简化的窗口,并提供并不简化的帮助

     最后,我恨我渣渣的英语

  矩阵的维度是我遇到的第一个知识点性的难题

线是一维的,面是二维,空间为三维,这是生活中的维度认识,而矩阵的一维,二维,三维则分别对应着列向量(表达可能有偏差),有行向量和列向量的矩阵,在二维矩阵的基础上再加Z的(像这样A[2][2][2])。

维度在计算中的使用,cat函数(连接两个的矩阵)cat(dim,A,B)。其中dim是个参数,他指明了如何生成新的矩阵和生成矩阵的性质

      PS:

>> A = [1 2; 3 4];

>> B = [5 6; 7 8];

>> A

A =

    1     2

    3     4

>> B

B =

    5     6

    7     8

>> cat(1, A, B) %按列连接(列数相同),

ans =

    1     2

    3     4

    5     6

    7     8

>> cat(2, A, B) %按行连接(行数相同)

ans =

    1     2     5     6

    3     4     7     8

>> cat(3, A, B) %合成效果如下图

ans(:,:,1) =

    1     2

    3     4

ans(:,:,2) =

    5     6

    7     8

 

a = magic(3) 
b = pascal(3) 
k=1,合并后形如 [a;b],行添加矩阵(要求a,b的列数相等才能合并);

>> c = cat(1,a,b) 

c = 
     8     1     6

     3     5     7

     4     9     2
     1     1     1
     1     2     3
     1     3     6
k=2,合并后形如[a,b],列添加矩阵(要求a,b的行数相等才能合并)
>> c = cat(2,a,b) 
c = 
     8     1     6     1     1     1

     3     5     7     1     2     3

     4     9     2     1     3     6
>> c = cat(3,a,b) 
c(:,:,1) = 
     8     1     6

     3     5     7

     4     9     2
c(:,:,2) = 
     1     1     1

     1     2     3

     1     3     6
n维的矩阵合并,要求n-1维维数相等才可以. 
>> c = cat(4,a,b) 
c(:,:,1,1) = 
     8     1     6

     3     5     7

     4     9     2
c(:,:,1,2) = 
     1     1     1

     1     2     3
     1     3     6

类似的flipdim(A,dim)函数的翻转方向也是按照上述规则

posted on 2014-08-01 18:55  独独  阅读(278)  评论(0编辑  收藏  举报

导航