gpt4 book ai didi

matlab - 使用 x、y、z 点绘制曲面

转载 作者:太空宇宙 更新时间:2023-11-03 19:54:02 25 4
gpt4 key购买 nike

我有一个 xyz 的列表,格式如下:

   -0.2894    1.2835    0.5405
-0.8171 -0.3034 0.1824
2.7864 0.5506 0.0037

我可以使用 plot3(x,y,z, '*') 绘图,它工作正常。

现在我想画一个表面,但是当我这样做的时候:

>> surf(x,y,z)
??? Error using ==> surf at 78
Z must be a matrix, not a scalar or vector.

我应该怎么画呢?

最佳答案

我建议您对 x,y 值进行 Delaunay 三角剖分,然后使用 z 作为曲面图的高度:

x = randn(100,1);
y = randn(100,1);
z = (exp(-x.^2-y.^2));
tri = delaunay(x,y);
trisurf(tri,x,y,z)

enter image description here

编辑

由于您的 Matlab 版本似乎有问题,这里有一个替代方案:使用 griddata 将您的数据插值到规则网格上,这样您就可以使用 surf密谋。

x = randn(100,1);
y = randn(100,1);
z = (exp(-x.^2-y.^2));
[xx,yy]=meshgrid(-2:0.1:2,-2:0.1:2);
zz = griddata(x,y,z,xx,yy);
dfig,surf(xx,yy,zz)

enter image description here

关于matlab - 使用 x、y、z 点绘制曲面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10272682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com