Meshgrid拉伸表面图

时间:2015-06-22 18:53:35

标签: matlab plot

我一直试图将轴添加到我拥有的冲浪地块。我已经尝试了各种建议,但无法让它发挥作用。我有3个矩阵:

最终 - > 3460x300双

spec - > 1x300双(x轴)

timedate - > 1x3460双(y轴)

时间矩阵值使用date2num转换时间和日期。

我试过

plot = surf(final);
set(plot,'LineStyle','none');

它给出了正确的图形,但轴是错误的。见图: enter image description here

当我尝试

[xx,yy] = meshgrid(spec,timedate)
plot2 = surf(xx,yy,final);
set(plot,'LineStyle','none');

它给了我正确的轴但图表似乎拉长了 enter image description here

我怎么能解决这个问题?

提前致谢

1 个答案:

答案 0 :(得分:1)

第二张图似乎是正确的,第一张图假设样本之间的距离固定,第二张图使用完整的信息(x,y和z轴),下面是问题的简化:

假设您想要绘制由点(0.5,1),(1,2),(1.5,3),(2,4)描述的曲线,正确的方法是:

x = [0.5, 1, 1.5, 2];
y = [1, 2, 3, 4];
plot(x, y)

但你在做:

plot(y)

两个图形将显示相同的曲线(因为点在x轴上以固定距离采样)但是这些点将被缩放并沿X轴移位。

但是,如果这些点现在(0.5,1),(1.2,2),(1.4,3),(2.2,4)怎么办?:

plot(x,y)plot(y)将显示不同的曲线,因为沿x轴的固定距离未对点进行采样,这就是您的问题中发生的情况。