2009-09-13 17 views
3

現在、私は既知の/未知のパラメータの異なる組み合わせを持つ単一の方程式を使用しています。私はファンシーな電卓を持っていないので、Mathematicaで方程式を定義し、既知のパラメータを渡して未知の値を計算する方がはるかに簡単です。Mathematica:複数のパラメータを持つ単一の方程式を使ってパラメータを計算する方法

誰かが(与えられた方程式を使用して)可能であれば、例解を与えることができれば、私は非常に感謝します。

我々は楕円軌道の所定の時点における衛星の速度の方程式としましょう:

V = SQRT(U(2/R - 1/A))

Vを=速度 U = 3.986定数* 10^14メートル^ 3/S^2 R =半径(地球の中心からの距離) 楕円

の=軌道長半径この式を使用することができますspを計算する例えば、貨物を他の軌道に移動させるために必要な速度は何であり、与えられた半径(r)で軌道(a)をモデル化しなければならないかを知る。

ありがとう!

答えて

1

":="演算子を使ってMathematicaで方程式を定義することができます。例えば、方程式を定義するには:

v[u_, r_, a_] := Sqrt[u*(2/r-1/a)] 

を私はそれを把握した場合、私はあなたに戻って取得します...未知のために解決するために、それを一般化するかどうかはわかりません。

あなたのような何か試してみたいことがあります:あなたはvは、uは、と...あなたが未知のためPARAMATERSのそれぞれを変更することができます知っていると仮定すると、Rのために解決します

Solve[v[1, r, 7]==15, r] 

を...

1

少し遅れています:) ...しかし、Reduce []はあなたが望むことをします。関数を定義します:

solveForMe[rules_] := Reduce[(v == Sqrt[3.986*10^14 *(2/r - 1/a)]) /. rules]; 

割り当てのための任意の有効な組み合わせで呼び出します。たとえば:

In[72]:= Off[Reduce::ratnz]; 
     solveForMe[{a -> 7 10^6, r -> 7 10^6}] 
     solveForMe[{v -> 10, r -> 7 10^6}] 
     solveForMe[{v -> 10, a -> 7 10^6}] 

出力は次のようになります。

Out[73]= v == 7546.05 

Out[74]= a == 3.5*10^6 

Out[75]= r == 1.4*10^7 

HTH! ...

関連する問題