Replace values in a matrix below 1% and above 99%

I have a big Matrix. In the Matrix I have a lot of values but also some NaN. Now £I want to replace all values that are below 1% percentil with the corresponding value of the 1% percentil. In a next step I want to replace all values above the 99% percentil with the value at the 99% percentil.
An example: If we take all numbers in the Matrix and the 1% percentil is 2, then I want to replace all values below 2 with 2.
Thank you for your help.

 採用された回答

Adam
Adam 2017 年 2 月 8 日
編集済み: Adam 2017 年 2 月 8 日

1 投票

lowPercentileVal = prctile( myMatrix(:), 1 );
myMatrix( myMatrix < lowPercentileVal ) = lowPercentileVal;
highPercentileVal = prctile( myMatrix(:), 99 );
myMatrix( myMatrix > highPercentileVal ) = highPercentileVal;

1 件のコメント

FC93
FC93 2017 年 2 月 8 日
Thank you for your help. This is what I was looking for.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeWeather and Atmospheric Science についてさらに検索

タグ

質問済み:

2017 年 2 月 8 日

コメント済み:

2017 年 2 月 8 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by