在项目仿真中遇到了这个问题:三维数组中每一列减去相同的二维数组,该如何操作?
必须采用以下表达式
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 版权协议,转载请附上原文出处链接和本声明。