Matlab:刷掉坏数据然后重新连接片段

Matlab: brushing out bad data then reconnecting fragments

我有下面的情节,其中包含我刷掉的错误数据:

以中间为例,在完全去除空的同时重新连接相邻片段的最佳方法是什么space?

如果您以图形方式修改了绘图,这就是您访问修改后数据的方式:

Line = get(gca, 'Children');
x_data = Line.XData;
y_data = Line.YData;

然后,如果您想将片段保留在原处并简单地连接它们,您可以忽略 NaN 个数据点并绘制其余部分:

id = ~(isnan(x_data(:)) | isnan(y_data(:)));
figure; plot(x_data(id), y_data(id))

如果你喜欢把所有的片段都往左推并连接起来,按上面定义id后,你可以这样做:

firstid = find(id, 1);
figure; plot(x_data(firstid:(firstid + sum(id) - 1)), y_data(id))