代码如下:
A = 1:10
对于Sum(A)
,我得到 55 ,这是元素值的总和。
但是对于以下我得到:
A = 1:10
对于Sum(A<9)
我得到8这是回答条件的元素之和(但不是元素值的总和)
答案 0 :(得分:3)
A<9
返回一个二元向量,其中1s
位于回答条件的位置,而0s
位置则不回复。因此,sum(A<9)
对包含8 1s
的向量求和,得到8,如预期的那样。你不应该得到9。
你想:
sum(A(A<9));
获取满足条件的值的总和。