Effacer les filtres
Effacer les filtres

Oh no! A(A==0)=NaN is turning my matrix into all zeros!!

1 vue (au cours des 30 derniers jours)
Kate
Kate le 12 Juil 2013
Okay, I'm feeling like an idiot, what on earth could I be doing wrong?
>> whos KoppenDsb_airT
Name Size Bytes Class Attributes
KoppenDsb_airT 360x720x361 374284800 single
>> min(min(KoppenDsb_airT))
ans(:,:,1) =
-26.5479
ans(:,:,2) =
-23.5349
ans(:,:,3) =
-22.6819
ans(:,:,4) =
-17.3890
ans(:,:,5) =
-12.0117
ans(:,:,6) =
-8.7705
ans(:,:,7) =
-5.3165
ans(:,:,8) =
0
ans(:,:,9) =
0
etc...
KoppenDsb_airT(KoppenDsa_airT==0)= nan;
>> min(min(KoppenDsb_airT))
ans(:,:,1) =
0
ans(:,:,2) =
0
ans(:,:,3) =
0
ans(:,:,4) =
0
ans(:,:,5) =
0
ans(:,:,6) =
0
ans(:,:,7) =
0
ans(:,:,8) =
0
ans(:,:,9) =
0
etc...
Any idea what I'm doing wrong? Thanks!

Réponse acceptée

the cyclist
the cyclist le 12 Juil 2013
Modifié(e) : the cyclist le 12 Juil 2013
I think you may be mixing up your variables
KoppenDsa_airT
and
KoppenDsb_airT
Still, the result is puzzling to me.
Is the array the same shape after that operation?
  3 commentaires
Kate
Kate le 12 Juil 2013
Another question: I'm trying to look at my whole KoppenDsb (monthly data) over my 30 year climate period.
KoppenDsb_airT(KoppenDsb_airT==0)= nan;
Dsb_airT_climatology=mean(reshape(KoppenDsb_airT,[],361),1);
but now my min and max are NaN's. Is there a better way to do this?
Matt Kindig
Matt Kindig le 12 Juil 2013
If you have the Statistics toolbox installed, you can you nanmean() to take the mean and ignore NaN's.
doc nanmean

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by