如何计算由向量中的指定值组成的“空白”,并获得开始和结束指数?

14意见(最近30天)
al_g.
al_g. 于2021年6月8日在23:16
编辑: DPB. 于2021年6月9日13:56
添加到以前的问题我问:
我有一个非常长的数据向量数据,其中包括“无效”值的差距,其中丢失的数据已被指定的缺失数据值(例如-1)或与“NaN”替换。我不需要在-1或南部进行区分。我想计算间隙的长度,并捕获开始和结束指数。
Invalid_values = [-1 nan];
sample_data_vector = [22 23 22 24 -1 -1 -1 25 20 24 naN naN naN 35 24 -1 -12220 naN 23];
是否有一种直接的方式来获得如下所示的输出:
data.gap.length = [3,3,2,1];
data.gap.start_indices = [5,11,16,20];
data.gap.end_indices = [7,13,17,20];

答案(1)

DPB.
DPB. 于2021年6月9日0:12
编辑:DPB. 于2021年6月9日13:56
v = sprintf('%d',ismember(sample_data_vector,Invalid_values)| Isnan(Sample_Data_vector));
istart = strfind(v,'01')+1;
Iend = strfind(v,'10');
n = iend-istart + 1;
我会告诉你intermina.bly.long.long.and.convoluted.variable.names :)

标签

s manbetx 845


释放

R2018A

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!