我想計算可以被2整除的矩陣元素的總和。我該怎麼做?我如何以統籌形式輸出答案?如何計算矩陣中元素子集的總和?
1
A
回答
0
一些僞代碼。每一行都有很多循環遍歷每列。
sum = 0
for(i = 0; i < matrix.num_rows; i++) {
for(j = 0; j < matrix.num_cols; j++) {
if(matrix[i][j] % 2 == 0)
sum += matrix[i][j]
}
}
不確定你的意思是座標形式。
1
這是矩陣M
只有它甚至價值觀:
(mod(M,2) == 0).*M
您可以sum(M)
或sum(sum(M))
(不知道什麼是「統籌形式」的意思)概括。
4
如果你有矩陣M
,可以找到一個logical index(即掩模)對於其中偶數元素是通過使用MOD功能,可以在不需要循環對整個矩陣進行操作。對於在矩陣甚至項除以2後的餘數爲0:
index = (mod(M,2) == 0);
您可以使用函數FIND得到這些連項的行和列索引:
[rowIndices,colIndices] = find(index);
而且您可以通過索引M
從上面的邏輯掩碼來提取甚至條目和使用SUM功能得到比較穩定的元素的總和,將它們添加了:
evenSum = sum(M(index));
下面是使用功能MAGIC創造了一個矩陣M
一個例子:
>> M = magic(3)
M =
8 1 6
3 5 7
4 9 2
>> index = (mod(M,2) == 0)
index =
1 0 1 %# A matrix the same size as M with
0 0 0 %# 1 (i.e. "true") where entries of M are even
1 0 1 %# and 0 (i.e. "false") elsewhere
>> evenSum = sum(M(index))
evenSum =
20
相關問題
- 1. 計算矩陣中的交叉對角元素的總和
- 2. 如何計算矩陣的總和?
- 3. 計算總和矩陣
- 4. OpenCV中矩陣元素的總和?
- 5. 計算矩陣乘法的子集
- 6. 來自矩陣的所有2x2子矩陣中的每個元素的總和
- 7. 總和的CSR矩陣的元素
- 8. 如何在矩陣中找到子矩陣的中間元素
- 9. Python:用任意元素計算矩陣?
- 10. 從矩陣計算元素平均值
- 11. 有更快的方法來計算子矩陣的總和嗎?
- 12. 如何計算元件在矩陣
- 13. MATLAB:如何計算矩陣元素的分佈
- 14. 如何計算巨大元素大小的休矩陣逆?
- 15. 矩陣與元素的矩陣元素
- 16. 如何計算單元格數組中矩陣列中的等元素數?
- 17. 如何劃分矩陣元素的行總和
- 18. 如何計算angularfire中的子元素?
- 19. 如何計算矩陣總和並對其進行比較
- 20. 計算Mat OpenCV子集的總和
- 21. 如何用Ilnumerics矩陣計算Kronecker和?
- 22. 矩陣中使用求和函數的元素總和由matlab
- 23. Prolog - 如何計算元素總數
- 24. 根據列和行總計計算值的矩陣
- 25. 如何加總結構中的矩陣(向量)元素
- 26. 若要計算矩陣列中的字段總和
- 27. 矩陣計算
- 28. 矩陣計算
- 29. 計算矩陣
- 30. 使用R計算矩陣中每個元素的exp()
OP標記MATLAB作爲語言。應該避免循環,因爲向量化通常要快得多。 Gnovice的解決方案甚至可以削減到一行:'sum(M(mod(M,2)== 0))' – Doresoom 2010-09-13 21:29:04
哦哇,謝謝。我想我沒有意識到OP最初將它標記爲MATLAB。我的錯。 – 2010-09-13 22:14:41