Help with Matrices and Index Position

1 view (last 30 days)
Hi all,
I have multiple matrices of the same size (500 x 5,000). I am focusing on the first of the matrices, which has some numerical values as well as some NaN's in each column. What I am trying to do is identify only the indices of the numerical values (not the NaN's) in the first matrix so that I can then look at the other matrices and find the value recorded at the same index position. (For example, if the first matrix has a number in the fifth row of the first column, I would like to find the value at the fifth row of the first column for ALL matrices.) Any suggestions? I think it may have to do with sub2ind, but I'm unsure how to apply that function.
Thanks in advance.
x = 500 x 5000 (This variable, "x", represents the matrix I am focusing on, i.e. the one within which I am looking for numerical values.)
day = 500 x 5000
month = 500 x 5000
year = 500 x 5000

Accepted Answer

Michelle De Luna
Michelle De Luna on 3 Feb 2021
Thanks to all! I just used the "find" function to find all non-NaN values and used the indices related to these values to solve my question. Again, thanks!
ind = find(~isnan(x))
q = x(ind)
d = day(ind)
m = month(ind)
y = year(ind)
[q d m y]

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!