In a matrix how to replace zero by NaN.?

258 次查看(过去 30 天)
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 个评论
拓郎 下山
拓郎 下山 2021-5-3
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.

请先登录,再进行评论。

采纳的回答

njj1
njj1 2018-4-19

Try this:

A(A==0) = NaN;
  4 个评论
laith awwad
laith awwad 2021-4-21
HOW TO NAME THE VARIABLE BECAUSE IF I RIGHT FOR EXAMPLE e = A(A==0) = NaN; GIVES ME AN ERROR
Steven Lord
Steven Lord 2021-4-21
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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by