我想问一下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)
情节窗口确实出现但没有图表。我的方法错了吗?
谢谢!
答案 0 :(得分: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, '.');
答案 1 :(得分: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])。