Task06 (3.18)多维数组

多维数组的建立

  1. 直接赋值
    格式【A为m行n列k页的多维数组,A(m,n,1)=xxx】
    表示多维数组第一页=xxx
    Task06 (3.18)多维数组
    vander([a,b,c···])函数的使用
    表示建立范德蒙矩阵,最后一列全为1,倒数第二列竖着拍列为a,b,c···,第三列为对应项的2次方,最后一列为n-1次方
    !!因为括号内为向量,故应该加方括号!
    Task06 (3.18)多维数组
  2. 用函数建立
    1, 可以生成m行n列矩阵的函数都可以通过加第三个数定义维度数
    Task06 (3.18)多维数组
    **rand(m,n)**用于生成m行n列的正态分布的随机矩阵,且都在0-1之间。
    2, reshape(A,m,n,···)函数
    作用方式是把A重排列(可以实现维度之间的转换 ),同样的,数据排列也是按列进行的。!!
    变换前后要保证元素的总个数一致Task06 (3.18)多维数组
    如何知道n维数组的元素总个数?
    使用prod函数与size函数的叠加。
    1, size 的结果为一个向量,数据表示m行n列k维
    2, prod是计算数组元素的连乘积。prod([1:5])=120; prod([2 4 6 8])=384; prod([3 4; 4 5])= 12 , 20
    3, 故prod(size(A))=mnk;为元素个数。
  3. repmat复制函数
    B=repmat(A,[3,4,3])表示在A为一个整体的情况下,在复制成3行4列3页的多维矩阵。
    Task06 (3.18)多维数组
  4. cat矩阵连接函数
    格式:a=cat(3,A,B,C) 生成3维,每一维分别是A,B,C
    !! 1. 使用时必须维度相同。
    Task06 (3.18)多维数组
    使用时,注意区别!!2维时,相当于行拼接。1维时相当于列拼接。
    Task06 (3.18)多维数组

多维数组的运算
matlab内部大部分函数都支持多维数组。但是多维素组使用函数时都是分别对每一维的,若要得到总的结果,应该使用函数的叠用!
Task06 (3.18)多维数组
Task06 (3.18)多维数组