如何在MATLAB中进行网格图?

时间:2016-09-14 12:14:41

标签: matlab plot

我想制作一个这样的情节: -
enter image description here

我可以使用这个公式来绘制它:NearField = r^2/l
其中r =换能器的半径
和l =超声波波长

这是我的代码:

colormap(hsv);
l=0.0001:0.00015:0.0015;
r=0.001:0.001:0.01; 
[x,y]=meshgrid(r,l);
nearField = x.^2/y;
mesh(r,l,nearField)

当我绘制它时,我得到以下内容:

enter image description here

为什么我没有得到第一张图中的情节?

2 个答案:

答案 0 :(得分:2)

您使用了错误的坐标。第一个似乎使用极坐标而不是x,y。你的r也被称为半径,这意味着r²=x²+y²。您必须在x,y坐标中变换公式以使用网格。我不认为,有一个matlab函数会自动执行此操作:/

答案 1 :(得分:0)

我认为你不应该在底线使用网格。 Plot3或surf命令应该是你想要的(第一个画线,第二个画一个表面)。 我希望它有所帮助。