How to Interpolate coordiantes and values of a surface plot
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Matt J
2023-1-20
编辑:Matt J
2023-1-20
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!