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(:))
這將產生一個數字,它是所有陣列的總和,無論它有多少維度。