的意思是之前和之后的一个特定的元素的值
6视图(30天)
显示旧的评论
接受的答案
默罕默德·萨米
2021年6月29日
编辑:默罕默德·萨米
2021年6月29日
如果你有更多然后R2017a Matlab版本,您可以使用filloutliers或者你可以将无效值替换为南然后使用fillmissing。您可以使用“线性”的方法来取代ouliers /缺失值,这本质上是将邻近值填入异常值的均值/缺失值。
%生成测试数据
一个=兰迪((1000 2000),1400);
(randperm(400, 10)) =兰迪(50 [1],1 10);
散射(1:400)
i = < = 50;
b = filloutliers (a,“线性”,“的意思是”);
散射(1:400、b[],我,“填充”);
colormap飞机;
c =;
c (i) =南;
c = fillmissing (c,“线性”);
散射(1:400 c[],我,“填充”);
colormap飞机;
答案(1)
马修•诺伊
2021年6月29日
你好,请参见下面的代码:
clc
clearvars
%虚拟数据
x = 1:1:400;
y = 1500 + 50 *兰德(1400);
y (40) = 35;%的第一个例外(单值)
y (60:66) = 45;%的第二个局外人(多个值)
易= y;%保持跟踪初始y数据(图)
all_idx = 1:长度(x);
% outlier_idx = abs (y - (y)中位数)> 2 *性病(y);%发现离群值idx
outlier_idx = y < 50;%发现离群值idx
y (outlier_idx) = [];%去除离群值的数据集
y = interp1 (all_idx (~ outlier_idx), y, x);%替代通过插值数据异常值
图(1)中,情节(x,咦,x, y);