How to Interpolate coordiantes and values of a surface plot
4 views (last 30 days)
Show older comments
Hi,
I have a set of coordinates that creates a mesh - i.e. XYZ coordinates of a set of quadrilateral panels that creates a mesh, as shown below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1266390/image.jpeg)
I also have the coordinates of the centroid of each panel. Moreover, I have a pressure value at each of those centroids. I have attached the mesh coordiante file herewith (needs to be mirrored).
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1266395/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1266400/image.jpeg)
I'm not sure if I'm doing a good job explaining the problem, so I followed a rather graphical approach to show what I mean.
Now, I want to find coordinates (XYZ) at a particular XZ plane. For instance, say, I have a plane x = -3.0, as shown. I would like to find the coordinates XYZ on the surface that matches the said x values. Further, I want to find the interpolated pressure value too, that are acting along that specified x values.
How can I achieve this?
Thank you in advance!
0 Comments
Answers (1)
Matt J
on 20 Jan 2023
Edited: Matt J
on 20 Jan 2023
load('mesh_coordinates.mat');
centroids=cell2mat(cellfun(@mean,mesh_coordinates,'un',0));
F=scatteredInterpolant(centroids(:,1:2), centroids(:,3));
x=-0.3;
[ymin,ymax]= bounds(centroids(:,2));
y=linspace(ymin,ymax,100);
z=F({x,y});
plot(y,z,'o-'); xlabel y; ylabel z; title 'Cross Section @x=-0.3'
1 Comment
See Also
Categories
Find more on 2-D and 3-D Plots 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!