我对绘制3D图表感到困惑。 首先,x轴和y轴的矩阵如下所示。
x =
0 71 142 213 284 355 426
0 71 142 213 284 355 426
0 71 142 213 284 355 426
0 71 142 213 284 355 426
0 71 142 213 284 355 426
0 71 142 213 284 355 426
y =
0 0 0 0 0 0 0
71 71 71 71 71 71 71
142 142 142 142 142 142 142
213 213 213 213 213 213 213
284 284 284 284 284 284 284
355 355 355 355 355 355 355
,数据如下所示。
Data =
16 16 16 27 29 24 21
17 17 15 26 29 16 16
15 13 12 25 34 14 15
12 10 9 28 18 11 11
77 9 6 62 7 9 8
4 4 4 131 3 4 6
然后我使用了这段代码。
mesh(x,y,Data)
xlabel('x')
ylabel('y')
zlabel('Data')
我得到了这张图:
我感到困惑的是为什么数据(6,4)= 131的点在图中的点(1,4)处。 此外,您可以看到Data(5,1)= 77的点位于图中的点(1,2)处。 为什么图中任何点的位置在上下方向上与矩阵中的位置相反? 这是正常的事吗?或者,我的代码中是否有任何问题。
我是Matlab的新手,但我觉得这种上下颠倒的情节在我的常识中很奇怪。
(编辑)谢谢Dan,然后我将描述为什么数据的确切形状对我很重要。我的工作是测量房间中的某些特定参数,例如湿度。 “空间”测量结果在下面“完全”显示。
16 16 16 27 29 24 21
17 17 15 26 29 16 16
15 13 12 25 34 14 15
12 10 9 28 18 11 11
77 9 6 62 7 9 8
4 4 4 131 3 4 6
根据数据,房间南方的湿度最高(131)。但是,当我在MATLAB中制作图形时,点131变为“数学模型”的北方向,如上图所示。因此,我很难将该图表放入报告中。我知道我可以旋转图形但是如果我旋转,原点变得很奇怪并且还会导致其他左右反向问题。您可能会说我的图表在数学上是正确的,但使用此反向问题进行报告仍然很奇怪。有没有办法完成这项任务?我试图在矩阵中的上下和左右方向上反转数据,但它没有帮助。
答案 0 :(得分:1)
值131
的点不是图中的点(1,4),而是x-y点(213,355),这是完全正确的。所有你需要做的就是获得你想要的东西就是旋转图像......这里没有任何错误。从图窗口旋转非常简单,否则你也可以do it programatically