在matlab中,有没有一种方法可以在3D网格上的特定坐标上绘制几个1D曲线?

时间:2018-11-18 06:33:30

标签: matlab interpolation matlab-figure

例如,我得到了3对一维对数曲线,以及它们在网格表面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

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here

感谢user7431005