登录论坛

查看完整版本 : 如何在MATLAB中有效查找相关性并丢弃3σ范围以外的点?


poster
2019-12-10, 16:49
我有一个数据文件m.txt ,看起来像这样(还有很多要点):

286.842995 3.444398 3.707202 338.227797 3.597597 283.740414 3.514729 3.512116 3.744235 3.365461 3.384880 其中一些值(例如338.227797 )与我通常期望的值(较小的数字)有很大不同 。


因此,我认为我将删除3-sigma range之外的所有点。如何在MATLAB中做到这一点?

同样,更大的问题是此文件具有t.txt关联的单独文件t.txt ,该文件存储这些数字的相应时间值。因此,我还必须从t.txt文件中删除相应的时间值。

我仍在学习MATLAB,我知道会有一些很好的方法(比存储从m.txt删除的元素的m.txt ,然后再从t.txt文件中删除这些元素的t.txt )


回答:
@Amro很近,但是FIND是不必要的(查找逻辑下标),您需要包括真实+/- 3 sigma范围的平均值。我会选择以下内容:

%# load files m = load('m.txt'); t = load('t.txt'); %# find values within range z = 3; meanM = mean(m); sigmaM = std(m); I = abs(m - meanM)