如何从八度音程中的2 x 2矩阵中减去1x2矩阵的值?

时间:2013-05-03 21:24:49

标签: matlab octave

我是Octave的新手,我正在尝试做一些基本的矩阵操作。我将举例说明我正在尝试做什么(实际数据集要大得多)。

a = [1 2; 2 4]
mu = mean(a)
normalized = a - mu %error line

所以在我的例子中,mu值是1.5和6.我想得到一个从第一列减去1.5的矩阵,从第二列减去3。

如:

- .5 -1  .5 1

提前非常感谢。

3 个答案:

答案 0 :(得分:3)

在Maltab(它也将在Octave中工作)你可以使用binary singelton expansion

bsxfun(@minus, a, mu)

但是,我的理解是Octave会自动为你做broadcasting,所以你不应该试图从2x2中减去1x2矩阵...:/

答案 1 :(得分:1)

normalized  = [a(:,1) - mu(1), a(:,2) - mu(2)];

答案 2 :(得分:1)

normalized = a - repmat(mu, size(a,1), 1)