我是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
提前非常感谢。
我是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
提前非常感谢。
normalized = a - repmat(mu, size(a,1), 1)
normalized = [a(:,1) - mu(1), a(:,2) - mu(2)];
在Maltab(它会在八度工作太),你会使用binary singelton expansion做到这一点:
bsxfun(@minus, a, mu)
不过,我的理解是,八音会自动执行broadcasting为你,所以你不应该”吨得到一个错误试图从一个2×2 ......减去一个1×2矩阵:/
自动广播在3.6最近添加:HTTP:// WWW .gnu.org/software/octave/NEWS-3.6.html – Amro 2013-05-03 22:58:07
谢谢Dan。 – StatsViaCsh 2013-05-04 11:00:05
谢谢本。现在看看repmat函数。 – StatsViaCsh 2013-05-04 10:59:17