用NaN分割载体

时间:2017-03-29 18:36:35

标签: matlab

我有一个带NaN的索引向量,例如:

index=[ 1 2 3 NaN NaN NaN 7 8 9 10 NaN 12 13 14 15 NaN NaN NaN 19 20]

我想要的是在细胞中获得NaN之间的片段。

所以我想要:

segments_index={[1 2 3 ], [ 7 8 9 10], [12 13 14 15], [19 20]};

如何自动实施此操作?

1 个答案:

答案 0 :(得分:0)

连接组件是一种方法:

index=[ 1 2 3 NaN NaN NaN 7 8 9 10 NaN 12 13 14 15 NaN NaN NaN 19 20];
notnan = ~isnan(index);
cc = bwconncomp(notnan);
segments_index = cellfun(@(i) index(i),cc.PixelIdxList,'UniformOutput',0)