Find the some of a row with numbers greater than -1 in matlab

1 view (last 30 days)
Numbers in row 1 are: 103, 61, 0, 0, 62, -999, -999, 0, 0, 2
I'm using sum(B,2)
but how can I sum all rows greater than or equal to 0
  2 Comments
DGM
DGM on 23 Nov 2022
Explain what it means to "sum all rows greater than or equal to 0"
and what that has to do with numbers greater than -1
and what that has to do with the values in row 1.
Aurelius Hardy
Aurelius Hardy on 23 Nov 2022
Maybe I'm looking at this wrong. Row 1 includes inches of of snow received each day. Some days didn't have snow recorded so the -999 was placed there. Therefore, that sum shouldn't be included in the sum of row 1. So I want to get the sum of days that had snow >/= 0.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 23 Nov 2022
B = [103, 61, 0, 0, 62, -999, -999, 0, 0, 2]
B = 1×10
103 61 0 0 62 -999 -999 0 0 2
sum( max(B, 0), 2)
ans = 228
  3 Comments
Walter Roberson
Walter Roberson on 23 Nov 2022
Note that sum(B(B>0)) would only work for a single row, whereas the max solution works for multiple rows
Image Analyst
Image Analyst on 23 Nov 2022
@Aurelius Hardy please click the "Accept this answer link" to award @Walter Roberson reputation points and let others know it's already been solved. Thanks in advance 🙂.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!