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

這將產生一個數字,它是所有陣列的總和,無論它有多少維度。