2016-09-14 94 views
1

我试图做这样一个情节: -
enter image description here如何在MATLAB中做网格图?

我可以用这个公式来绘制它: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

为什么我没有在第一张图让情节是怎样的?

+0

从文章看来它是r^2/l而不是2 * r/l。 –

+0

@ Benoit_11是的,谢谢 – Joe

+0

这里是文章http://www.electrotherapy.org/modality/ultrasound-therapy – Joe

回答

2

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

0

我认为你不应该在底线中使用网格。 Plot3或surf命令应该是你想要的(第一个绘制线条,第二个绘制曲面)。 我希望这有帮助。