MATLAB Answers

Manually interpolate a 2D array

4 views (last 30 days)
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


Sign in to comment.

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)

Sign in to answer this question.