Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

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

1 visualización (últimos 30 días)
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!

Respuestas (1)

Tommy
Tommy el 28 de Mayo de 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,:)]);

Productos


Versión

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by