在倍频程3.6.2中,我有一个矩阵X=[1 2 3; 2 4 5; 2 6 5; 2 3 7; 3 6 8; 2 4 6; 3 6 8; 4 7 10]
,我想计算X-mean(X),它得到了:
octave:2> X-mean(X)
warning: operator -: automatic broadcasting operation applied
ans =
-1.37500 -2.75000 -3.50000
-0.37500 -0.75000 -1.50000
-0.37500 1.25000 -1.50000
-0.37500 -1.75000 0.50000
0.62500 1.25000 1.50000
-0.37500 -0.75000 -0.50000
0.62500 1.25000 1.50000
1.62500 2.25000 3.50000
但是,当我在另一台计算机上尝试相同的命令时,它提示矩阵的大小不匹配:
error: operator -: nonconformant arguments (op1 is 7x3, op2 is 1x3)
知道如何激活在第一种情况下应用的“自动广播操作”吗? ( Octave 版本相同!)
最佳答案
您可以通过调用bsxfun(operation, A, B)
显式请求广播,因此在您的情况下:
bsxfun(@minus, X, mean(X))
Octave reference,Matlab reference