与this link一样,我有:
| 0.1 0.2 0.3 0.4
----------------------
1 | 10 11 12 13
2 | 11 12 13 14
3 | 12 13 14 15
4 | 13 14 15 16
Y = [0.1 0.2 0.3 0.4];
X = [1 2 3 4];
Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];
我使用命令" surf(X,Y,Z)"绘制表面Z.在matlab中。我得到了:
但实际上我并不了解绘制的表面。有人可以向我详细解释(在文本中)这个表面会发生什么吗?例如:我们如何观察点(2,0.2,12)?
答案 0 :(得分:5)
包含一些标签和颜色条,一切都应该清晰:
Y = [0.1 0.2 0.3 0.4];
X = [1 2 3 4];
Z = [10 11 12 13; 11 12 13 14; 12 13 14 15; 13 14 15 16];
surf(X,Y,Z)
colorbar
xlabel('X')
ylabel('Y')
zlabel('Z')
根据评论中的建议,您可以通过添加以下内容找到您的观点:
hold on;
plot3(2,0.2,12,'ro','MarkerSize',10,'MarkerFaceColor','r');
然后它显示为红点。
您的表格包含16个点,这些点被绘制,其间的区域根据应用的色彩图进行着色,其中组的最低z值为4,这是根据doc 表面高度强>
如果您在情节之前包含以下行,实际上它会更清晰:
[X,Y] = meshgrid(X,Y);
这样所有输入变量都具有相同的尺寸:
X =
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
Y =
0.1 0.1 0.1 0.1
0.2 0.2 0.2 0.2
0.3 0.3 0.3 0.3
0.4 0.4 0.4 0.4
Z =
10 11 12 13
11 12 13 14
12 13 14 15
13 14 15 16
如果surf
函数会为您执行此操作,但其他绘图函数可能无法容忍。