Help with coding a bilinear interpolation function

2 views (last 30 days)
My specific problem involves taking, let's say, matrix1, which contains a n*m two dimensional array with a variable set to a certain value at each point, and interpolating the variable values at each point to points in matrix2, which contains a finer mesh of points in the same domain n*m.
I found that for my needs, I will be using a bilinear interpolation, but have some questions in how to code in within MatLab. First, is there any function to easily do this, or if not, how could I find and identify the four nearest points (in the image, 1, 2, 3 and 4) in matrix1 that bound a single point in matrix2 (5)?
Image for reference: https://imgur.com/jfiMtYf
After that, I think I could manage coding the bilinear interpolation itself (finding the two x-axis points and using those to find the point in matrix2).
Thanks for any answers in advance for my question about identifying the four bounding points.

Accepted Answer

Matt J
Matt J on 19 Jul 2018
You can just use interp2() or griddedInterpolant().
  7 Comments
Matt J
Matt J on 27 Jul 2018
Edited: Matt J on 27 Jul 2018
Your link is broken for some reason. Why not just embed your image in your comments? That would be the easiest.

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!