To crate a 2D lookup table with interpolation for matrix data and to crate a function of (x,y) (inputs) give the output from the matrix

40 views (last 30 days)
I have data matrix, for an example:
A=[0,1,2,3,4,5; 2,3,5,6,6;3 3 5 0 9]; % A data matrix.
x=-100:5:100; % x-axis
y=-100:5:100; % y-axis
i want to for any (x,y) value (in the range -100 to 100) to obtain the matrix vaule, so two things need to do covert the index A(i,j) to A(x,y) and to inerpolated between breaking point, for an eaxmple A(1,2.5) .

Answers (1)

KSSV
KSSV on 1 Aug 2019
Read about interp2.
n = 20 ;
Z = peaks(n) ;
[X,Y] = meshgrid(1:n,1:n) ;
[Xi,Yi] = meshgrid(1:0.1:n,1:0.1:n) ;
Zi = interp2(X,Y,Z,Xi,Yi) ;
  2 Comments
Dror Malka
Dror Malka on 4 Aug 2019
Thanks, but i want to get the value of the matrix for each x and y axis, for an exampl if i have two points betwee 0-5, then y=ax+b so it is to define in 1D problem and then for each x to get the y. However in my case, i have 2D so not sure if to do it on both axis (x,y), and then to avarege them, the interp2 just give you a larger samples but not for each x and y locations.
John D'Errico
John D'Errico on 4 Aug 2019
That is EXACTLY what interp2 will do. It does not just sample the data. It interpolates the data array at any list of points. And this is exactly what you asked for.

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!