MATLAB无循环实现多条件筛选矩阵元素并求和的方法
解决方法
直接通过**逻辑与(&)**组合两个筛选条件,单行代码即可完成需求,高效适配大矩阵:
result = sum(A(A > 5 & mod(A, 2) == 0));
代码说明
A > 5:生成布尔矩阵标记所有大于5的元素位置mod(A, 2) == 0:生成布尔矩阵标记所有偶数元素位置&:对两个布尔矩阵做元素级逻辑与,得到同时满足两个条件的元素位置A(...):提取符合条件的元素,最终用sum()完成求和
执行后result的值为14,与预期一致。
内容的提问来源于stack exchange,提问作者Nar.hhs
相关产品推荐
相关产品推荐

