Azzera filtri
Azzera filtri

Find elements in a matrix

1 visualizzazione (ultimi 30 giorni)
Rinu
Rinu il 31 Mag 2014
Commentato: Rinu il 31 Mag 2014
I have a very large matrix A with 4 columns and hundreds of thousands of rows - the first 3 columns contain x, y and z coordinates and the fourth column contains elevation values. I have another smaller matrix B of 3 columns containing x, y and z coordinates at which I need to extract the elevation values from the larger matrix. How do I search for the particular coordinates (given by B) in the larger matrix A? I tried to use 'find' to extract the indices of every match: >> ind=find(B==A(:,1:3))
but I get the error "Matrix dimensions must agree".

Risposta accettata

the cyclist
the cyclist il 31 Mag 2014
Modificato: the cyclist il 31 Mag 2014
[tf idx] = ismember(B,A(:,1:3),'rows')
  3 Commenti
the cyclist
the cyclist il 31 Mag 2014
Modificato: the cyclist il 31 Mag 2014
The second output of the ismember command gives the index to the corresponding row.
Rinu
Rinu il 31 Mag 2014
Oh Thanks :-)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by