Filter löschen
Filter löschen

How to search through a matrix.

9 Ansichten (letzte 30 Tage)
Brandon Bush
Brandon Bush am 25 Jun. 2018
Kommentiert: Brandon Bush am 25 Jun. 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 Kommentar
Brandon Bush
Brandon Bush am 25 Jun. 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 25 Jun. 2018
Bearbeitet: Matt J am 25 Jun. 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 Kommentar
Brandon Bush
Brandon Bush am 25 Jun. 2018
Thank you, this works like a charm

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by