3

ウィキペディアの「より近い近似」を使用して露点計算機を作成しています。

ユーザーが任意の 2 つの変数を入力した場合に露点を計算できるようにしたいと考えています。

多くの if ステートメントを使用するのではなく、これを行う簡単な方法はありますか?

より具体的には、相対湿度の代わりに湿球温度を使用したい場合はどうすればよいですか? 一連の変数を除外するには、新しい関数を作成するか、if ステートメントを使用する必要がありますか?

現在、私は温度と相対湿度を使用しています:

    $('#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>");

    });
4

1 に答える 1

1

参考までに、非線形方程式系を解くことは、一般に難しい問題です。それを避けるためにできることは何でもしてください。

複数の値のペアを使用して答えを計算できる場合の私の通常のアプローチは、与えられた値のペアを使用して正規の値のペアを計算し、それを使用して実際の計算を行うことです。さらに、DWIM を実行できるように、与えられたものを把握するために入力を並べ替えなければならないのは面倒なので、受け入れる入力のペアごとに個別の関数を用意することは理にかなっているかもしれません。(または、プログラムの制御フローに依存しない場合もあります。私よりもよく知っています。)

于 2011-05-12T16:53:48.350 に答える