2016-09-14 92 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命令應該是你想要的(第一個繪製線條,第二個繪製曲面)。 我希望這有幫助。