Effacer les filtres
Effacer les filtres

Find all non zero values in an array AND display the values

23 vues (au cours des 30 derniers jours)
B M
B M le 13 Avr 2012
Hi,
I have a matrix of 1x1177 and I wanted to display all the nonzero values with the array and the location of them.
I am able to get the location of them using:
find(matrixOne)
But I also need the values to be displayed.
Is there a way of doing this without me having to look through the array manually?
Many thanks

Réponse acceptée

Thomas
Thomas le 13 Avr 2012
x = randi([0 4],1,1177)
[row,col,value]=find(x)

Plus de réponses (1)

Wayne King
Wayne King le 13 Avr 2012
x = randi([0 4],1,1177);
indices = find(x~=0);
y = x(indices);
Or
x = randi([0 4],1,1177);
y = nonzeros(x);
The output of nonzeros is a column vector, so if you want it as a row vector, you can transpose
y = nonzeros(x)';
  1 commentaire
Jan
Jan le 13 Avr 2012
Here "find(x)" is faster than "find(x~=0)".

Connectez-vous pour commenter.

Catégories

En savoir plus sur Multidimensional Arrays dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by