find the index of non-zero elements of three dimensional matrix and rank the them according to the value

For a three dimentional matrix: A=randi(10,[10 10 5]), I want to find the index (x,y,z) of each non-zero element of A and then rank the all the non-zero elements according to the value.
However, when running the following code, it seems 'find' can only have three outputs. May I know how to achive this?
A=randi(10,[10 10 5]);
[x,y,z,val]=find(A);
sortrows([val,x,y,z],1)

 Réponse acceptée

You can use my FEX submission findND.
A=randi(10,[10 10 5]);
[x,y,z,val]=findND(A);
sortrows([val,x,y,z],1)

2 commentaires

You're welcome, that's what I wrote that function for, glad to be of service

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by