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(:))
这将产生一个数字,它是所有数组的总和,无论它有多少维度。