Borrar filtros
Borrar filtros

Map array values relative to another array

2 visualizaciones (últimos 30 días)
Mathew Thomas
Mathew Thomas el 25 de Abr. de 2017
Comentada: Mathew Thomas el 25 de Abr. de 2017
I have an array of xy coordinates, a = [4000,3000; 4200, 3100; 4014, 2900]; Array 'a' has been translated to lat lon values b = [72.1321, -32.789; 73.1879, -31.8987; 72.89109, -32.8796];
Now I have another set of xy coordinates, a2 = [3600,2900; 4000, 2100; 4200, 3200]; How can I get 'b2' based on interpolating values in 'a','b' and 'a2'?
Thanks, Mathew

Respuesta aceptada

Honglei Chen
Honglei Chen el 25 de Abr. de 2017
Maybe something like this?
b2 = reshape(interp1(a(:),b(:),a2(:),'linear','extrap'),size(a2))
HTH

Más respuestas (1)

Andrei Bobrov
Andrei Bobrov el 25 de Abr. de 2017
aa = sort(a);
bb = sort(b);
F = {griddedInterpolant(aa(:,1),bb(:,1)),griddedInterpolant(aa(:,2),bb(:,2))};
out = cell2mat(cellfun(@(f,x)f(x),F,num2cell(a2,1),'un',0));
  1 comentario
Mathew Thomas
Mathew Thomas el 25 de Abr. de 2017
Both methods work, just that I need to preserve the order as is without sorting.

Iniciar sesión para comentar.

Categorías

Más información sobre Interpolating Gridded Data en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by