MATLAB Answers

interpolating Sample data to finer increment

2 views (last 30 days)
Michael
Michael on 16 Jan 2018
Commented: Thorsten on 18 Jan 2018
Hello,
What I have is a 3D set of point X, Y and Z(Weights) and I want to be able to interpolate the Z data to finer intervals in the X and Y direction. Say X from -17.5, 17.5 in 0.5 steps and Y 15 to -15 in 0.25 step.
------- Zone -17.5 0 17.5 15 0.6 0.8 0.6 0 0.7 1 0.7 15 0.6 0.8 0.6 -------
[Weights] = [0.6 0.8 0.6; 0.7 1.0 0.7; 0.6 0.8 0.6];
[X] = [-17.5,0,17.5];
[Y] = [-15, 0, 15];
figure
surf(X,Y,Weights)
title('Original Sampling');

  0 Comments

Sign in to comment.

Accepted Answer

Thorsten
Thorsten on 17 Jan 2018
Vq = interp2(X,Y',Weights, -17.5:0.5:17.5, (-15:0.25:15)');

  0 Comments

Sign in to comment.

More Answers (1)

Michael
Michael on 17 Jan 2018
Thanks
Both of the following lines did solve my issue; however, I am not sure what the ' does, In this example exactly what does the prime symbol ' achieve?
Vq = interp2(X,Y,Weights, -17.5:0.5:17.5, (-15:0.25:15)', 'cubic'); Vq = interp2(X,Y,Weights', -17.5:0.5:17.5, (-15:0.25:15)', 'cubic');

  1 Comment

Thorsten
Thorsten on 18 Jan 2018
The ' transposes the vector from a row to a column vector. From the help of interp2:
Xq can be a row vector, in which case it specifies a matrix with
constant columns. Similarly, Yq can be a column vector and it
specifies a matrix with constant rows.
Not that if you transpose your Weights you will have a different solution.

Sign in to comment.

Sign in to answer this question.