How to do 2D array interpolation

Hi, I have a 2d array of values of dimension 4x4, and I would like to do a bilinear interpolation upto a dimension of 1024x1024. I would be very grateful, if anyone helps me in this regard.
The 2d array is:
A=[0.0169 0.5876 0.4689 1.0000;
0.5989 0.6525 0.3475 0.3559;
0.5706 0.6525 0.3814 0.3616;
0 0.5537 0.4011 0.8644];
Thanking You!

Answers (1)

x=linspace(1,4,1024);
F=griddedInterpolant(A);
result=F({x,x});

5 Comments

Thanks Matt for your reply, but this command did not run in my Matlab version R2008a showing an error as :Undefined function or variable 'griddedInterpolant'. Is there any command or way to do this?
Thanking You!
result = interp2(A,x(:),x);
Did this work?
griddedInterpolant() itself needs at least R2011b.
In particularly old versions of MATLAB it might be necessary to use meshgrid() to construct the arrays of query locations.
[X, Y] = meshgrid(x, x);
result = interp2(A, X, Y);
Yes. Quite obscure, it took me few seconds to figure it out Matt's compact code, but it works
x = linspace(1,4,1024);
result = interp2(A,x(:),x)

Sign in to comment.

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 26 May 2013

Edited:

on 13 Sep 2019

Community Treasure Hunt

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

Start Hunting!