首页 > 解决方案 > matlab 中有没有办法在 3D 网格上的特定坐标上绘制多个 1D 曲线?

问题描述

例如,我得到了 3 对 1-D loglog 曲线,以及它们在网格表面 S 上的末端 A、B 和 C 之一的关联笛卡尔坐标点 (x,y,z)(z 向下为正且线性但与曲线的 log(y) 轴方向一致)。是否可以在 matlab 中以单个图形表示这样的绘图系统?此外,从 A、B 和 C 获得插值切片?

来自 user3281667 问题的图像让我们深入了解我们在这里尝试做的事情: https ://gis.stackexchange.com/questions/252939/interpolating-xyz-data-in-arcgis-3d-analyst

谢谢。

标签: matlabinterpolationmatlab-figure

解决方案


有点解决了。首先我们需要知道我们的数据是什么格式的,这种情况比较分散。我将一个 nx4 矩阵与预处理后的数据连接起来A=[X Y Z C]。然后使用正确的工具,使用scatter3进行绘图:现在进行插值,首先使用meshgridscatter3(A(:,1), A(:,2), A(:,3),30, A(:,4), 'filled' ) 在此处输入图像描述 生成网格细化:接下来使用 griddata 进行插值然后再次绘制。[Xm, Ym, Zm] = meshgrid(min(X):2:max(X), min(Y):2:max(Y), min(Z):2:max(Z)) Cm = griddata(X,Y,Z,C,Xm,Ym,Zm);

figure
scatter3(Xm(:), Ym(:), Zm(:), 30, Cm(:), 'filled' )

在此处输入图像描述

感谢 user7431005


推荐阅读