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!