Вы смотрели на rmoutliers (A ) ?Если все, что вам нужно, это удалить выбросы, эта функция сделает именно это.
Если вы по какой-либо причине не можете использовать функцию, вы можете использовать это:
% Compute the median absolute difference
meanValue = mean(vector)
% Compute the absolute differences. It will be a vector.
absoluteDeviation = abs(vector - meanValue)
% Compute the median of the absolute differences
mad = median(absoluteDeviation)
% Find outliers. They're outliers if the absolute difference
% is more than some factor times the mad value.
sensitivityFactor = 6 % Whatever you want.
thresholdValue = sensitivityFactor * mad;
outlierIndexes = abs(absoluteDeviation) > thresholdValue
% Extract outlier values:
outliers = vector(outlierIndexes)
% Extract non-outlier values:
nonOutliers = vector(~outlierIndexes)%Compute the median absolute difference
Кредит идет на этот парень , но это очень простой подход и должен сделатьименно то, что вам нужно