MATLAB Answers

How can I extract points (sum of values) from variable size groups of lines (separated from NaN values) in the same column ?

3 views (last 30 days)
Mauricio Melati
Mauricio Melati on 28 May 2020
Answered: Tommy on 28 May 2020
Hi, here is my problem.
I have this two columns.
A=[1; 2; 5; NaN; 4; 6; 8; 65; 6; NaN; NaN; NaN; 33; 5; 7]
B=[5; 8; 5; NaN; 4; 7; 8; 66; 8; NaN; NaN; NaN; 32; 1; 7]
I want a new matrix with two coluns with the sum of each group (in each column) that is separated by NaN values sequences to develop a scatter graph.
Answer:
C=[8 18;89 93;45 40]
Thanks!

  0 Comments

Sign in to comment.

Answers (1)

Tommy
Tommy on 28 May 2020
Potentially over-complicated but should work:
cA = cumsum([A, B],'omitnan');
idx = [isnan(A(2:end)); 1] & ~isnan(A);
C = diff([0, 0; cA(idx,:)]);

  0 Comments

Sign in to comment.

Products


Release

R2016a

Translated by