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