2011-01-20 11 views
2

こんにちは 私は物理問題ソルバーを開発しようとしています。プログラムは特にアンドロイドのために書かれますが、それは重要ではありません。私は物理学を知っている人には馴染み深いこれら3つの方程式を持っています。方程式解法アルゴリズム

VF = VI + * T
Y = VI族* tの+ 0.5 *のT^2
VF^2 = VI^2 + 2 * yを私が開発したい

この3つの方程式を使用して、ユーザーが持っている既知の変数があれば、ユーザーが望む他の値を解くアプリケーションです。これは私が問題にぶつかるところです。ユーザーがどのような変数を使用するかを毎回知っていれば、大丈夫です。しかし私はそうではないので、方程式を再構成し、必要に応じて個々の変数を評価して代入できるようにするプログラムが必要です。

私は、ユーザー入力の組み合わせごとに別々のコードセットを書く必要があると思いますが、誰かが別の方法を知っていれば分かりますので、コードをすべて書き出す必要はありません100程度のバリエーション。

ありがとうございました。

+2

あなたはユースケースが何であるかを書き留めた場合は、そこにいない100のバリエーションがありますが、おそらくより3.のようにあなたが唯一持っているVI、VF、Y、とt。異なる条件の下では、それらの1つまたは2つを解く必要があります。 – phkahler

+1

問題は、この式から一般的なフレームワークを書く試みは、方程式が自動的に解くのが難しい(未知数が多すぎる=大きな数学的問題と数値的問題)場合にのみ有用であるということです。したがって、私は順列を手動でコーディングすることを主張します。 –

+0

@phkahler私は10と言っています.5つの変数と3つの方程式があるので、2つの変数の値を与えなければなりません。 2C5 = 10. – adamax

答えて

0
if(vfField.getText() != "") && (viField.getText() != "") && (aField.getText() != "") && (tField.getText() != "") { 
printf("you've already solved it!!") 
} 

if(vfField.getText() != "") && (viField.getText() != "") && (aField.getText() != "") && (tField.getText() == "") { 
time = vf/(vi + a) 
printf(time) 
} 

など。:)