Replacing 0 with NaN by indexing into a matrix

4 views (last 30 days)
I have a data matrix called 'data' of 84761 x 11. (a small selection of the data is attached).
I am able to allocate column variable into arrays e.g. column 10 = WindDirec with DD1 = data(:,10).
I can then replaces the 0 values with NaN by: DD1(DD1==0)=NaN.
Is there a way to do this without first assigning column variables to arrays? I would like to index into the matrix 'data' and replaces all 0 values in column 10 with NaNs.
data(data(:,10)==0)=NaN; replaces the values in the first column with NaN, given by the index provided by where column 10 = 0;
How do I index to column 10 to then replace the 0's with NaNs?
Thank you Jenny

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 26 Sep 2013
Edited: Azzi Abdelmalek on 26 Sep 2013
data(data(:,10)==0,10)=nan

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!