Effacer les filtres
Effacer les filtres

Assigning NaN to certain values

9 vues (au cours des 30 derniers jours)
IMC
IMC le 1 Mar 2021
Commenté : IMC le 2 Mar 2021
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 commentaires
KSSV
KSSV le 1 Mar 2021
Try:
tol = 10^-3 ;
Temp(Temp<=-(177.5700+tol))= NaN;
IMC
IMC le 1 Mar 2021
Unfortunately, It didn't work.

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 1 Mar 2021
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 commentaire
IMC
IMC le 1 Mar 2021
Thanks David!. It tried using your lines of code and it worked.

Connectez-vous pour commenter.

Plus de réponses (1)

Allen
Allen le 1 Mar 2021
A slightly more simple approach:
Temp(round(Temp,4)<=-177.57)= NaN;
  1 commentaire
IMC
IMC le 2 Mar 2021
Thank you!

Connectez-vous pour commenter.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by