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

1 visualización (últimos 30 días)
Kate
Kate el 12 de Jul. de 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!

Respuesta aceptada

the cyclist
the cyclist el 12 de Jul. de 2013
Editada: the cyclist el 12 de Jul. de 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 comentarios
Kate
Kate el 12 de Jul. de 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 el 12 de Jul. de 2013
If you have the Statistics toolbox installed, you can you nanmean() to take the mean and ignore NaN's.
doc nanmean

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by