In a matrix how to replace zero by NaN.?

Hi every one, I have a matrix A=1×180. All values of matrix A are either zeros or negative numbers. I need to replace all the zeros by NaN, noted that zeros are also randomly distributed in matrix A. I have tried for loop but do not get the desired result. Any guidance will be appreciated thanks.

1 comentario

拓郎 下山
拓郎 下山 el 3 de Mayo de 2021
I have the same problem.
I change 0 value to NaN value in nifti file of int16.
I try "V(V==0) = NaN;"
But, it doesn't work. Could you give me the answer?
Thank you for reading.

Iniciar sesión para comentar.

 Respuesta aceptada

njj1
njj1 el 19 de Abr. de 2018

Try this:

A(A==0) = NaN;

4 comentarios

Safi ullah
Safi ullah el 19 de Abr. de 2018
@ njj1, thanks it works well.
Ambati Sathvik
Ambati Sathvik el 22 de Mayo de 2020
Thank you
laith awwad
laith awwad el 21 de Abr. de 2021
HOW TO NAME THE VARIABLE BECAUSE IF I RIGHT FOR EXAMPLE e = A(A==0) = NaN; GIVES ME AN ERROR
If you want to keep the original array around, make a copy of it then replace the values in that copy.
A = randperm(10)
A = 1×10
9 5 7 3 8 10 2 1 4 6
B = A;
B(B > 7) = NaN
B = 1×10
NaN 5 7 3 NaN NaN 2 1 4 6
[A; B] % Use both the original vector (A) and the modified one (B)
ans = 2×10
9 5 7 3 8 10 2 1 4 6 NaN 5 7 3 NaN NaN 2 1 4 6

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

el 19 de Abr. de 2018

Comentada:

el 3 de Mayo de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by