Selection of priority data
显示 更早的评论
Hello,
I'm trying to solve a problem. I have a vector of data such as:
data=[3;4;8;NaN;NaN;NaN;7;4;3;NaN;NaN;2;3;NaN;9]
length of data can be variable and NaN value phases can happen everywhere within a vector.
I need to find the first NaN value and count the number of next NaN. However, I do not want to take into account any other NaN value after the first portion of NaN.
In this case my result would be: First NaN at raw 4. Three NaN values. I know how to use the function find, indeed this is the code I used as far:
findNaN = find(isnan(data));
The problem is that in that way I will get the others NaN too that I do not want to locate.
Any idea?
Thanks, Giuseppe
采纳的回答
更多回答(2 个)
Image Analyst
2014-12-27
If you're lucky enough to own the Image Processing Toolbox, it's easy. Just find the nan's, label then, and count the number in the first group. Here is the code:
labeledVector = bwlabel(isnan(data)) % Find nan's and label.
numberOfNansInFirstGroup = sum(labeledVector == 1) % Count the # of elements in group #1
类别
在 帮助中心 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!