我想计算可以被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