Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 三维曲面打印错位轴_Matlab_Plot_Geometry Surface - Fatal编程技术网

Matlab 三维曲面打印错位轴

Matlab 三维曲面打印错位轴,matlab,plot,geometry-surface,Matlab,Plot,Geometry Surface,代码是: subplot(1,3,3) h=surf(ReflMatrix) set(h, 'edgecolor','none') colormap winter %Other colourmaps: Winter,Cool hold on; ylabel('frequency (Hz)'); xlabel('angle of incidence (degrees)'); alpha(.5) %transparency 反射矩阵为401x90。y的值范围为0到90,这很好,因为y是以度为单位

代码是:

subplot(1,3,3)
h=surf(ReflMatrix)
set(h, 'edgecolor','none')
colormap winter %Other colourmaps: Winter,Cool
hold on;
ylabel('frequency (Hz)');
xlabel('angle of incidence (degrees)'); 
alpha(.5) %transparency
反射矩阵为401x90。y的值范围为0到90,这很好,因为y是以度为单位测量的角度。x频率的值范围为0到401,因为我的带宽是401个频率,但我希望相同的图表的值范围为300到700,而不是从频率0开始到从频率300开始。

在surf中,您可以指定您的x和y。在您的情况下,通过

y = linspace(300,700,401);
逐步

x = linspace(0,90,91); 
你确定反射矩阵的大小,因为从0到90的频率是91点而不是90点。然后根据

[X,Y] = meshgrid(x,y);
h = surf(X,Y,ReflMatrix);
编辑:

可以通过以下方式相应地设置轴的限制:

xlim([0 90]);
ylim([300 700]);
zlim([min(min(ReflMatrix)) max(max(ReflMatrix))]);

非常感谢。它确实奏效了。你的91分也是对的。我还有一个问题。现在它开始于340左右,结束于740左右,尽管我做了你上面所说的。在大约40点开始到440点结束之前。为什么呢?有线索吗?真奇怪。创建图形后,键入xlim和ylim时的输出是什么?您可以查询轴的实际限制。xlim的输出为[0100],ylimWell的输出为[200800],只需尝试将值设置为所需的范围。xlim[090];ylim[300 700];。现在看起来还好吗?很遗憾我不能上传照片。我试过这个。标签改变了。现在原点应为0300,y轴的最后一个值为700。尽管如此,曲面图仍然从大约340开始,并在大约740处超出y轴的限制