我是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
提前非常感谢。
答案 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)