Filter löschen
Filter löschen

Map array values relative to another array

2 Ansichten (letzte 30 Tage)
Mathew Thomas
Mathew Thomas am 25 Apr. 2017
Kommentiert: Mathew Thomas am 25 Apr. 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

Akzeptierte Antwort

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

Weitere Antworten (1)

Andrei Bobrov
Andrei Bobrov am 25 Apr. 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 Kommentar
Mathew Thomas
Mathew Thomas am 25 Apr. 2017
Both methods work, just that I need to preserve the order as is without sorting.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Interpolating Gridded Data 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