Effacer les filtres
Effacer les filtres

How to search through a matrix.

9 vues (au cours des 30 derniers jours)
Brandon Bush
Brandon Bush le 25 Juin 2018
Commenté : Brandon Bush le 25 Juin 2018
Hello, I have two matrices. One is a 388 x 4 called data and the other is a 31 x 3 called num. Both matrices have column 1 being Latitude values, column two being Longitude values and column 3 being Rainfall values. I need to search through column 1 & 2 of the data matrix to find the Lat & Lon values corresponding to those in the num matrix, then take the value in the 3rd column(Rainfall) of the data matrix that aligns with the Lat/Lon coordinates and stick it into a new array that is 31 x 1 (to match with the size of the rainfall column in the num matrix).
  1 commentaire
Brandon Bush
Brandon Bush le 25 Juin 2018
I found a function called intersect(A,B). i believe this will help to find matching values but I am not sure where to go from there.

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 25 Juin 2018
Modifié(e) : Matt J le 25 Juin 2018
Only 31 look-ups? For things like that, for-loops are fine:
newarray=nan(31,1);
for i=1:31
j=find( data(:,1)==num(i,1) & data(2,:)==num(i,2) );
if ~isempty(j)
newarray(i)=data(j,3);
end
end
  1 commentaire
Brandon Bush
Brandon Bush le 25 Juin 2018
Thank you, this works like a charm

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Community Treasure Hunt

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

Start Hunting!

Translated by