Info

此问题已关闭。 请重新打开它进行编辑或回答。

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

1 次查看(过去 30 天)
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!

回答(1 个)

Tommy
Tommy 2020-5-28
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,:)]);

此问题已关闭。

产品


版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by