ranges of dimensions when using nan

1 vue (au cours des 30 derniers jours)
Asliddin Komilov
Asliddin Komilov le 24 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 commentaires
KSSV
KSSV le 24 Mai 2021
Have a look on the function isnan.
Asliddin Komilov
Asliddin Komilov le 24 Mai 2021
I have attached the data, and isnan did not handle the 6D (or I don't know how to do it)

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 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 commentaires
Jan
Jan le 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.
Asliddin Komilov
Asliddin Komilov le 25 Mai 2021
sorry, it was another line that made the error.
actually I needed to use isfinite and it worked exactly as you said.
thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by