calculating the mean of specific array using previous & next array
1 次查看(过去 30 天)
显示 更早的评论
Dear all,
I am trying to find a way to calculate the mean of specific array in a vector.
Within the vector "W", there are "outliers".
In order to adjust the values of the outliers, i wish to calculate the mean at the position of the outlier using previous (outlier-1) and next (outlier+1) value of outlier.
And once done, the calculate mean values should replace the value of outliers.
assumed values as an example;
W = randi([0 50], 1, 18000)
outliers = [1224 1370 1485 3001 ........ ]
Thanks all
采纳的回答
the cyclist
2020-4-6
The variable outliers contains the indices to the outlier locations, right? Then
W(outliers) = (W(outliers-1) + W(outliers+1))/2;
will replace those locations with the mean of that locations nearest neighbors.
There are two scenarios where this simple formula will not work:
- One could have outliers at two consecutive indices
- The outlier could be at the first or last element of your array.
You'll need to provide more info on how you want to handle those special cases.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 NaNs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!