Manually interpolate a 2D array

1 view (last 30 days)
Hello,
Basically I have a question on how to manually interpolate a 2D array:
Let's say I have a 80 x 100 array and want to make it into 100 x 120. I want to increase the size of my array, and interpolate the values of the initial array.
Can anyone help me with this matter?
Thanks alot

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Nov 2019
a = rand(4,8);% Let a - your array
F = griddedInterpolant(a);
[i,j] = ndgrid(linspace(1,4,10),linspace(1,8,12)); % grid for new array 10 x 12
out = F(i,j); % new array
  1 Comment
Angelina Papathanasiou
Angelina Papathanasiou on 25 Nov 2019
I had the same question but I have the constraint that I cannot use complex commands (griddedInterpolant(), ndgrid()). Is there a way of receiving the same answer without them?
1.Can I use meshgrid() instead of ndgrid()? Is there a simple way to do the same without gridderInterpolant(), using "first pricinples"?

Sign in to comment.

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!