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

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

必须采用以下表达式

Rx1TimeData1= Rx1TimeData0 - repmat(mean(Rx1TimeData0,1),[NumSamplesPerChirp,1,1]);

式中Rx1TimeData1Rx1TimeData0均为三维数组,而经过mean(Rx1TimeData0,1)后,该数组是1*行*层的三维数组,即将列表示出来,尽管只有1列。而MATLAB将这样的三维数组识别成二维数组,因此Rx1TimeData0mean(Rx1TimeData0,1)是无法直接相加减的,系统会报错,错误为维度不相符,不可操作。因此需要将mean(Rx1TimeData0,1)扩充为一个三维数组。由于项目中需要三维数组Rx1TimeData0中的每一列减去二维数组mean(Rx1TimeData0,1),因此需要采用repmat进行维度扩展。有关repmat的用法参见MATLAB的help文件。

你可能感兴趣的:(MATLAB使用)