フィルターのクリア

Assigning NaN to certain values

9 ビュー (過去 30 日間)
IMC
IMC 2021 年 3 月 1 日
コメント済み: IMC 2021 年 3 月 2 日
Hello,
I am trying to read nc file and it contains values (-177.6600, -177.6500, -177.6300, -177.5900, -177.5700). I want to assign NaN to all these values (there is a huge number of these values).I tried the following code but it didn't remove the maximum value i.e., -177.5700.
Temp = ncread('G\01.06.17\NC_H08_20170601_0500_L2CLP010_FLDK.02401_02401.nc', 'Temperature');
Temp(Temp<=-177.5700)= NaN;
Kindly help.
Thank you.
  4 件のコメント
KSSV
KSSV 2021 年 3 月 1 日
Try:
tol = 10^-3 ;
Temp(Temp<=-(177.5700+tol))= NaN;
IMC
IMC 2021 年 3 月 1 日
Unfortunately, It didn't work.

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

採用された回答

David Hill
David Hill 2021 年 3 月 1 日
You might try rounding to 4 decimal places first
Temp=round(Temp,4);
Temp(ismember(Temp,[-177.6600, -177.6500, -177.6300, -177.5900, -177.5700]))=nan;
  1 件のコメント
IMC
IMC 2021 年 3 月 1 日
Thanks David!. It tried using your lines of code and it worked.

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

その他の回答 (1 件)

Allen
Allen 2021 年 3 月 1 日
A slightly more simple approach:
Temp(round(Temp,4)<=-177.57)= NaN;
  1 件のコメント
IMC
IMC 2021 年 3 月 2 日
Thank you!

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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by