我想问一下有关3d曲面绘制的问题。因为我是新手,所以我只是尝试一下。基本上,我有3个参数,x,y,z,我有来自实验数据的值,我想把它们画出来。所以,我试过了,
x= [6 7 8 9 10 11 12 1]
x =
6 7 8 9 10 11 12 1
--> y=[2 3 4 5 6 1 6 8]
y =
2 3 4 5 6 1 6 8
--> z= [3 4 5 6 7 8 9 10]
z =
3 4 5 6 7 8 9 10
meshgrid(x,y,z)
surf(x,y,z)绘图窗口确实出现了,但没有图形。我的方法错了吗?
谢谢!
发布于 2014-01-06 11:15:57
听起来你需要从plot3开始,因为你只是在3D中描述一组点,而不是网格或曲面上的点。看看这是不是你想要的。
x = [6 7 8 9 10 11 12 1];
y = [2 3 4 5 6 1 6 8];
z = [3 4 5 6 7 8 9 10];
plot3(x, y, z, '.');发布于 2014-01-07 01:40:16
这就是我绘制曲面的方法:
%define the data
x=[6 7 8 9 10 11 12 1 6 7 8 9 10 11 12 1];
y=[2 3 4 5 6 1 6 8 2 3 4 5 6 1 6 8];
z=[3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10];
%Create 3D surface
[X,Y]=meshgrid(x,y);
Z=griddata(x,y,z,X,Y);
%Plot the surface
surface(X,Y,Z);
shading interp %makes it look sexy
%xlim([])
%ylim([])有时我使用轴限制来使绘图看起来更好(消除不需要的白色区域);对于这组数据,我可以使用xlim(6 11)和ylim(2 6)。
https://stackoverflow.com/questions/20941987
复制相似问题