Interpolation using scattered query points
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hesham
am 9 Aug. 2019
Kommentiert: Hesham
am 9 Aug. 2019
Hi
It is straight forward to use interpn or griddedInterpolant to perform n-dim interpolation. However, in these functions, the query points must be on a full grid. Is it possible to perform interpolation on a scattered set of query points?
As an example, for 2D interpolation, I don't want to perform interpolation on a full xy grid. I just want to perform interpolation on a set of points {(x1,y1), (x2,y2), (x3,y3), ...}. I know it can be done using a loop, but I was looking for a faster and more efficient vectorized solution.
The question at the link below is similar to my question, but the answer didn't give a vectorized solution.
Thanks
0 Kommentare
Akzeptierte Antwort
the cyclist
am 9 Aug. 2019
I believe the solution you point to can be trivially vectorized:
load clown ;
imagesc(X);
colormap gray ;
[nx,ny] = size(X) ;
r = 1:ny ;
c = 1:nx ;
[R,C] = meshgrid(r,c) ;
%%do interpolation
Ri = [5 6]; Ci = [5 7]; % <------- I VECTORIZED THE CODE RIGHT HERE.
Xi1 = interp2(R,C,X,Ri,Ci) ;
% or can be used without mesh grid like below
Xi2 = interp2(r,c,X,Ri,Ci) ;
4 Kommentare
the cyclist
am 9 Aug. 2019
Bearbeitet: the cyclist
am 9 Aug. 2019
Hm. For me, the output of the code I posted yields two points.
Xi1 = [61 55];
I wonder if it is a version issue? I am using R2019a.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Interpolation 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!