Javascript:解决方程组

时间:2011-05-12 14:45:38

标签: javascript math solver

我正在使用维基百科上的“closer approximation”制作露点计算器。

如果用户输入任何两个变量,我希望能够计算露点。

有没有一种简单的方法可以做到这一点,而不是有很多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>");

    });

1 个答案:

答案 0 :(得分:1)

FYI求解非线性方程组通常是一个难题。尽你所能避免这种情况。

如果可以使用多对值来计算答案,我通常的方法是使用我给出的一对值来计算规范的值对,然后用于进行实际计算。此外,由于必须对输入进行排序以弄清楚您已经给出了什么以便您可以使用DWIM,因此对于我接受的每对输入都有单独的函数可能是有意义的。 (或者它可能不依赖于你的程序中的控制流程,你知道比我更好。)