2011-05-12 16 views
3

ウィキペディアで "closer approximation"を使って露点計を作っています。Javascript:方程式系を解く

ユーザーが2つの変数を入力した場合、露点を計算できるようにします。

if文がたくさんあるより簡単な方法がありますか?

もっと具体的には、相対湿度の代わりに湿球温度を使用したい場合はどうすればよいですか?変数のセットを除外するために新しい関数を作成するかif文を使用する必要がありますか?

現在、私は、温度と相対湿度を使用しています:FYI非線形方程式のシステムを解く

$('#calculate').click(function(){ 
     //Get Temp 
     var T = parseInt($('#val1').val()); 
     //Get RH 
     var RH = parseInt($('#val2').val()); 
     //Get es and ex 
     var es = 6.112*Math.exp(17.76*T/(T+243.5)); 
     var ex = (RH*es)/100; 
     //Calculate Dew Point 
     var Tdp = (243.5*Math.log(ex/6.112))/(17.67-Math.log(ex/6.112)); 
     $('#output').append("<p>Dew Point"+Tdp+"</p>"); 

    }); 
+0

今は2つの変数しか使用していません。 JavaScriptの方程式の系を解くことが可能かどうか分からないので、私は最も一般的な入力に固執しています。 :) –

+0

+1興味深い質問です。しかし、私はそれが 'if'または' switch()case; 'ステートメントに来ると確信しています。 – pixelbobby

+0

@KevinBrown:それははるかに優れています:)(私はあなたの質問に答える方法について私は考えていません)、ちょうどそれがより完全かもしれないと思った。 – Trufa

答えて

1

は一般的に難しい問題です。それを避けるためにできることは何でもしてください。

答えを計算するために複数の値のペアを使用できるのであれば、通常の値のペアを計算するために与えられた値のペアを使用して、実際の計算を行います。さらに、あなたが与えてくれたことを把握するために入力を並べ替えなければならないので、DWIMを使用するのが面倒なので、受け入れる入力のペアごとに別々の機能を持たせることは理にかなっています。 (あるいは、あなたのプログラムの制御の流れに依存しないかもしれませんが、私よりも優れています)

+0

私は文字通りちょっと気まぐれでこれを選んだ - 今夏は仕事がないので、私は周りをだます。 :) アドバイスを歓迎します。 :) –

+0

それは私がいつも望んでいたツールです。何かを数学的関係で1つのセクションに入力し、グリッドで知っている値を入力すると、自動的にできることが入力されます。これは、シーンの背後にあるMaximaのようなものを必要とするかもしれません。 – phkahler