How to do 2D array interpolation
    18 views (last 30 days)
  
       Show older comments
    
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!
0 Comments
Answers (1)
  Matt J
      
      
 on 26 May 2013
         x=linspace(1,4,1024); 
 F=griddedInterpolant(A); 
 result=F({x,x});
5 Comments
  Walter Roberson
      
      
 on 13 Sep 2019
				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
      
      
 on 13 Sep 2019
				
      Edited: Bruno Luong
      
      
 on 13 Sep 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)
See Also
Categories
				Find more on Interpolation in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



