Info

This question is closed. Reopen it to edit or answer.

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

1 view (last 30 days)
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!

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,:)]);

This question is closed.

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!