2015-11-13 141 views
2

我有一個漂亮的方程,我正在試圖計算R2。我正在使用Mathematica。到目前爲止,我試圖使用Solve []或Reduce []計算的每一次都是永遠的。我希望你能幫助我如何處理這種美麗以獲得解決方案。謝謝!以下是我的等式。用多變量求解Mathematica中的非線性方程

eq1 = (R2 + ((((p2x - R2*(vac2y + voby)) - (k1x + 
       vox ((vobx ((p2y + R2*(vac2x + vobx)) - k1y) + 
        voby (k1x - (p2x - R2*(vac2y + voby))))/(-voby* 
        vox + vobx*voy))))^2 + ((p2y + 
       R2*(vac2x + vobx)) - ((p2y + R2*(vac2x + vobx)) - 
       voby ((vox (k1y - (p2y + R2*(vac2x + vobx))) + 
        voy ((p2x - R2*(vac2y + voby)) - k1x))/(-voby*vox + 
        vobx*voy))))^2)^0.5))/ 
    v2 == (R1 + (((k1x - (k1x + 
       vox ((vobx ((p2y + R2*(vac2x + vobx)) - k1y) + 
        voby (k1x - (p2x - R2*(vac2y + voby))))/(-voby* 
        vox + vobx*voy))))^2 + (k1y - ((p2y + 
       R2*(vac2x + vobx)) - 
       voby ((vox (k1y - (p2y + R2*(vac2x + vobx))) + 
        voy ((p2x - R2*(vac2y + voby)) - k1x))/(-voby*vox + 
        vobx*voy))))^2)^0.5))/v1 
+1

在http://mathematica.stackexchange.com可能更好的問。這種數學和編程相結合,那裏的人們可能比我們腳本小子更有可能提供幫助。 –

+0

謝謝,我會給它一個機會:) – donfrigo

+0

你也應該看看你的等式,你可能會手工減少它。乍一看,在我看來,'p2x'只能以'p2x-R2 *(vac2y + voby)'和'p2y'作爲'p2y + R2 *(vac2x + vobx)'出現,並且可能會使用類似的重用塊以簡化公式(在紙上)。 –

回答

1

有一件事我要指出的是,這是更好地使用^(1/2)即SQRT []比^ 0.5:數學是非常謹慎實數來區分(帶小數點)和整數或有理數。

儘管你做出了這樣的改變,但我擔心得到一個很好的分析解決方案的可能性很小。如果你考慮重新排列方程以擺脫平方根的方式,最終必須平方兩次,結果得到一個四次方程。原則上這是分析可溶解的,但只有在特殊情況下才是解決方案的緊湊以致有用。

0

你的表達是這種形式:

a + Sqrt[b + c R2 + d R2^2] == e R2 + Sqrt[f + g R2 + h R2^2] 

Solve容易返回四個解決方案。 現在只需根據原始參數(vox,voy,..等)計算出這些參數(a,b,c..),並替換爲Solve結果。 (我懷疑結果太難以實際使用了。)