MATLAB二维数组扩充为三维数组-repmat函数

  • Post author:
  • Post category:其他


在项目仿真中遇到了这个问题:三维数组中每一列减去相同的二维数组,该如何操作?

必须采用以下表达式

Rx1TimeData1= Rx1TimeData0 –

repmat

(mean(Rx1TimeData0,1),[NumSamplesPerChirp,1,1]);

式中

Rx1TimeData1



Rx1TimeData0

均为三维数组,而经过

mean(Rx1TimeData0,1)

后,该数组是1*行*层的三维数组,即将列表示出来,尽管只有1列。而MATLAB将这样的三维数组识别成二维数组,因此

Rx1TimeData0



mean(Rx1TimeData0,1)

是无法直接相加减的,系统会报错,错误为维度不相符,不可操作。因此需要将

mean(Rx1TimeData0,1)

扩充为一个三维数组。由于项目中需要三维数组

Rx1TimeData0

中的每一列减去二维数组

mean(Rx1TimeData0,1)

,因此需要采用repmat进行维度扩展。有关repmat的用法参见MATLAB的help文件。



版权声明:本文为liweinjit原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。