给定随机向量
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(:))
这将得出一个数字,它是所有数组的总和,与它有多少维无关。