元素操作 - MATLAB

use*_*231 3 matlab matrix

我在MATLAB中有一个矩阵,让我们说:

a = [
  89  79  96  
  72  51  74  
  94  88  87  
  69  47  78
]
Run Code Online (Sandbox Code Playgroud)

我想从每个元素中减去其列的平均值,并除以列的标准偏差.如何在不使用循环的情况下以任何其他矩阵的方式实现.

谢谢

Yan*_*Cao 5

如果您的版本支持bsxfun(除非您有非常旧的matlab版本,可能就是这种情况),您应该使用它,它比它快得多repmat,并且消耗更少的内存.你可以这样做:result = bsxfun(@rdivide,bsxfun(@minus,a,mean(a)),std(a))