MATLAB总和,均值,产品和费用

示例

给定随机向量

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(:))

这将得出一个数字,它是所有数组的总和,与它有多少维无关。