Sum mean prod co

给出一个随机向量

v = rand(10,1);

如果你想要它的元素之和,不要使用循环

s = 0;
for ii = 1:10
    s = s + v(ii);
end 

但使用 sum() 函数的矢量化功能

s = sum(v);

像功能 sum()mean()prod() 等人,都直接沿行,列或其他方面工作的能力。

例如,给定一个随机矩阵

A = rand(10,10);

的平均值是

m = mean(A,1);

的平均值是

m = mean(A,2)

上面的所有函数只能在一个维度上工作,但如果你想对整个矩阵求和怎么办?你可以使用:

s = sum(sum(A))

但是如果有一个 ND 阵列怎么办?在 sum 上对 sum 应用 sum …看起来不是最好的选择,而是使用:运算符来矢量化你的数组:

s = sum(A(:))

这将产生一个数字,它是所有数组的总和,无论它有多少维度。