У меня есть файл m.txt
данных, который выглядит примерно так (с намного большим количеством очков):Как эффективно найти точки корреляции и сброса вне диапазона 3-сигма в MATLAB?
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
.
Я все еще учусь MATLAB, и я знаю, что будет какая-то хороший способ сделать это (лучше, чем хранить индексы элементов, которые были удалены из m.txt
и последующего удаления этих элементов из файла t.txt
)
Извинения выглядят так, как будто они могут быть отформатированы с десятичной точкой в неправильном месте. Если это так, вы можете принять решения ниже и заменить шаг «стереть» на «m (idx) = m (idx)/100;' – mtrw
», это действительно замечательное наблюдение! Обычно очистка данных является одним из наиболее важных и трудных шагов в области интеллектуального анализа данных. – Amro
@mtrw Нет, они не являются десятичными запятыми. это похоже на то, хотя! – Lazer