2011-04-08 42 views
0

我正試圖編寫代碼來計算從一個帶電環在x和y方向上的點P上的Efield。圍繞環中的一點計算EField

double y_eField = (_ke_value * _dq * (Sin_angle)/(Math.Pow(r, r))); 

問題我有的是代碼似乎遵循給定的方程,但它輸出的結果是不正確的。任何人都可以幫忙嗎?我很感激幫助。

+0

你是不是把戒指分成了小塊,'_dq'和基本上用不同的r和角度加上它們?邁克爾對於「Pow(r,r)」部分是完全正確的,但這並不是一個微不足道的事情。你可以得到一個位於軸上的位置的閉合形式,該位置通過垂直於環區域的環的中心,但是任意點基本上需要數值地評估圍繞環的離散化量的積分,直到I可以告訴。 – 2011-04-08 08:09:25

+0

我確實改變了Pow(r,r)的錯誤,是的,_dq是我的要點,是的,環上每個點的角度都不相同。你能否通過獲得一個關於軸線位置的封閉形式來解釋你的意思? – Kobojunkie 2011-04-08 14:52:11

+0

你可以明確地做我說的情況下的積分,而不是用數字來近似它,就像你需要大多數其他點。得到的方程在z方向上是'E = q * z * k_e /(z^2 + R^2)^(3/2)'。如果您的谷歌地理位置正確,您可以在網絡上搜索該地區的所有內容這裏,z是沿着垂直於環區域的軸線離開圓心的距離。基本上,由於對稱性,你可以整合它。請注意,對於z = 0,E = 0,這也是對稱性的意義。 – 2011-04-08 15:37:07

回答

1

這可能更適用於Physics Stack Exchange。也就是說,你確定你想提高r的權力嗎?(暗示爲Math.pow(r, r))?我懷疑也許你想要平方?如果是這種情況,您可以使用Math.pow(r, 2)或簡單地使用r*r

+0

感謝您收到該錯誤。我確實改變了它,但答案仍然不正確。我認爲這個問題可能與代碼有關,這將是最好的地方,但我可能是錯的。 – Kobojunkie 2011-04-08 14:50:16