1

我想问一下 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)

绘图窗口确实出现了,但没有图表。我的方法错了吗?

谢谢!

4

2 回答 2

1

听起来您需要从 开始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-06T03:15:57.300 回答
0

这就是我绘制表面的方式:

%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])。

于 2014-01-06T17:40:16.093 回答