Function to return Interpolated Value at one query point
13 views (last 30 days)
Show older comments
I have created an interpolation surface of my experimental data (xA,yA,zA) to a grid with the code below, and now would like to create a function to return the interpolated value at a given single querry point, for example (.001237, .002954).
How can I create an F(x,y) that will return a single value, the interpolated value of z at the point (x,y)?
!---------------------------------------------
[xq,yq] = meshgrid(.001:.00005:.005);
z2 = griddata(xA,yA,zA,xq,yq,'cubic');
!-----------------------------------------------
0 Comments
Accepted Answer
Star Strider
on 8 Apr 2022
Use the griddedInterpolant function, and then experiment with the actual data to see what gives the best results —
xA = (rand(20,1))*0.005;
yA = (rand(20,1))*0.005;
zA = (rand(20,1))*0.005;
[xq,yq] = meshgrid(.001:.00005:.005);
z2 = griddata(xA,yA,zA,xq,yq,'cubic')
F = griddedInterpolant(z2);
xp = 0.001237;
yp = 0.002954;
zp1 = F(xp, yp)
% zp2 = F(yp, xp)
figure
surf(xq,yq,z2)
hold on
stem3(xp, yp, zp1, '^r', 'MarkerSize',10, 'MarkerFaceColor','r')
% stem3(yp, xp, zp2, '^g', 'MarkerSize',10, 'MarkerFaceColor','g')
hold off
xlabel('x')
ylabel('y')
view(-45,30)
It would help to have the actual data.
.
2 Comments
More Answers (0)
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!