# In a matrix how to replace zero by NaN.?

359 visualizzazioni (ultimi 30 giorni)
Safi ullah il 19 Apr 2018
Commentato: 拓郎 下山 il 3 Mag 2021
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 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti

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?

Accedi per commentare.

### Risposta accettata

njj1 il 19 Apr 2018

Try this:

```A(A==0) = NaN;
```
##### 4 CommentiMostra 2 commenti meno recentiNascondi 2 commenti meno recenti
laith awwad il 21 Apr 2021
HOW TO NAME THE VARIABLE BECAUSE IF I RIGHT FOR EXAMPLE e = A(A==0) = NaN; GIVES ME AN ERROR
Steven Lord il 21 Apr 2021
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

Accedi per commentare.

### Categorie

Scopri di più su Correlation and Convolution in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by