2013-05-03 117 views
1

我是Octave的全新品牌,我正在尝试做一些基本的矩阵操作。我将举一个我想要做的事情的简单例子(实际数据集要大得多)。如何从八度的2 x 2矩阵中减去1x2矩阵的值?

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

所以在我的例子中,亩产值是1.5和6。我想获得有1.5从第一列减去3从第二减去一个矩阵回来。

如:

-0.5 -1 0.5 1

提前非常感谢。

回答

1

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

+0

谢谢本。现在看看repmat函数。 – StatsViaCsh 2013-05-04 10:59:17

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

在Maltab(它会在八度工作太),你会使用binary singelton expansion做到这一点:

bsxfun(@minus, a, mu) 

不过,我的理解是,八音会自动执行broadcasting为你,所以你不应该”吨得到一个错误试图从一个2×2 ......减去一个1×2矩阵:/

+2

自动广播在3.6最近添加:HTTP:// WWW .gnu.org/software/octave/NEWS-3.6.html – Amro 2013-05-03 22:58:07

+0

谢谢Dan。 – StatsViaCsh 2013-05-04 11:00:05