处理一下异常值

% 生成数据

clear

clc

close all

A = rand(100, 1);

A(50, 1) = 20;

% 绘制箱线图

figure;

boxplot(A);

% 检测异常值

Q1 = quantile(A, 0.25);

Q3 = quantile(A, 0.75);

IQR = Q3 - Q1;

lower_bound = Q1 - 1.5 * IQR;

upper_bound = Q3 + 1.5 * IQR;

% 标记异常值

outliers = (A < lower_bound) | (A > upper_bound);

disp('异常值索引:');

disp(find(outliers));

% 处理异常值

A(outliers) = median(A); % 用中位数替换异常值

% 重新绘制箱线图

figure;

boxplot(A);

你可能感兴趣的:(matlab)