# How to get sum of a range

109 ビュー (過去 30 日間)
Crystal Lee 2018 年 8 月 12 日
コメント済み: Paolo 2018 年 8 月 12 日
I am trying to get the code below to output the number of elements within v(a vector) that are below 2 and above 4.
sum(sum(v<2 & v>4))
When I define v and run this, it does not work as I would like it to. eg for
v=[1,3,5];
sum(sum(v<2 & v>4))
I am expecting an output of 2, since there is 1 element below 2(1), and 1 element above 4(5).

サインインしてコメントする。

### 採用された回答

Paolo 2018 年 8 月 12 日
You want to use the OR operator here and not the AND. Use:
nnz(v<2 | v>4)

#### 2 件のコメント

Image Analyst 2018 年 8 月 12 日
To build on that, it's because no one number can be both below 2 AND above 4 at the same time. It can be below, or be above, but not both.
Paolo 2018 年 8 月 12 日
That really goes without saying, I am sure OP understands that. He is probably confused about the meaning of logical operators.

サインインしてコメントする。

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by