ranges of dimensions when using nan
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Asliddin Komilov
am 24 Mai 2021
Kommentiert: Asliddin Komilov
am 25 Mai 2021
dear community,
I have a 6D result Arr(crb, cefb, crr, crp, ctb, ccb) where Arr(Arr>1)=nan.
How can I find the values of crb, cefb, crr, crp, ctb and ccb, where Arr is not nan?
thanks
3 Kommentare
Akzeptierte Antwort
Jan
am 24 Mai 2021
isnan is the function, which replies a logical array with the same dimension as the input and TRUE values, where the input has NaN elements. It does handle 6 dimensional arrays.
siz = [2,3,4,5,6,7];
Data = ones(siz); % Some test data
Data(rand(siz) > 0.5) = nan;
index = isnan(Data)
Now use either the logical array directly, or call find() to obtain the index vectors. Maybe ind2sub helps you to get the indices for the different dimensions.
3 Kommentare
Jan
am 25 Mai 2021
isnan() replies an array of the same size as the input. So if the input has 6 dimensions, the output has 6 dimensions, too.
Please post a piece of code, which reproduces your problem.
ind2sub converts the linear index to the indices related to an array. See: doc ind2sub.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!