Assigning NaN to certain values

13 次查看(过去 30 天)
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;

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by