Borrar filtros
Borrar filtros

How to search through a matrix.

9 visualizaciones (últimos 30 días)
Brandon Bush
Brandon Bush el 25 de Jun. de 2018
Comentada: Brandon Bush el 25 de Jun. de 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 comentario
Brandon Bush
Brandon Bush el 25 de Jun. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 25 de Jun. de 2018
Editada: Matt J el 25 de Jun. de 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 comentario
Brandon Bush
Brandon Bush el 25 de Jun. de 2018
Thank you, this works like a charm

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by