У меня есть вектор данных. Так,

a =[0;0.0028;0.0002;0.0039;0.0061].

Как видите, начиная с элемента 4° значения начинают расти до конца.

Я пытался определить порог для определения элементов 4 ° и 5 ° как выбросов, используя функцию isoutlier из Matlab. Я сделал это. Но мне пришлось определить фиксированное значение «ThresholdFactor», используя один из методов, которые есть у функции.

Я хотел бы, чтобы значения 4° и 5° были идентифицированы как выбросы. Не на основе всех векторных данных, а потому, что они больше, чем элементы 1°, 2° и 3°. Я имею в виду, что я хотел бы найти выбросы на основе обратных данных [0; 0,0028; 0,0002].

Вектор, который я разместил, является примером. Размер должен быть общим.

Вы можете помочь мне?

P.S. (Актуализация): Как я уже сказал, в зависимости от записей данных мои векторы будут иметь разные размеры. Но во всех случаях явление, которое они представляют, приводит к тому, что в конце векторные значения будут больше.

Я не могу найти способ определить, когда данные будут выбросами, поскольку вектор не всегда будет одинаковым. Мне нужно обобщить. Итак, что мне действительно нужно, так это определить, когда значения начинают расти, пока не достигнут конца. Например, для моего примера это произойдет из положения 4°.

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю справку по домашним заданиям MatLab, справку по назначению MatLab, помощь по финансам для студентов, инженеров и исследователей в нескольких отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для B.E, B .Tech, ME, M.Tech, Ph.D. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

привет

почему бы не использовать islocalmin? мне кажется, что вы хотите сохранить первые 3 точки (соответствующие местному минимуму).

a =[0;0.0028;0.0002;0.0039;0.0061];
id = find(islocalmin(a(1:end)));
a_keep = a(1:id)
a_keep = 3×1
         0
    0.0028
    0.0002
plot(a)
hold on
plot(a_keep,'dr')

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ