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!

Respuestas (1)

Matt J
Matt J el 26 de Mayo de 2013
x=linspace(1,4,1024);
F=griddedInterpolant(A);
result=F({x,x});

5 comentarios

Pranjal Pathak
Pranjal Pathak el 26 de Mayo de 2013
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!
Matt J
Matt J el 26 de Mayo de 2013
result = interp2(A,x(:),x);
Ehiremen Ebewele
Ehiremen Ebewele el 13 de Sept. de 2019
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);
Bruno Luong
Bruno Luong el 13 de Sept. de 2019
Editada: Bruno Luong el 13 de Sept. de 2019
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)

Iniciar sesión para comentar.

Categorías

Más información sobre Interpolation en Centro de ayuda y File Exchange.

Preguntada:

el 26 de Mayo de 2013

Editada:

el 13 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by