从2个点求解指数方程

时间:2016-03-27 01:48:20

标签: javascript equation algebra exponential

我已经在这段代码上工作了一段时间,因为我只有9年级,所以我没有太多的代数经验。我已经尝试了很多东西,这就是我的脚本现在的位置。(注意,这只是JavaScript,要求的id是带有信息和输出的框。)

 <script>
        function SolveExp() {
          //constants
          var d = document;
          //Point values
          var EX1 = eval(d.getElementById('EX1').value);
          var EX2 = eval(d.getElementById('EX2').value);
          var EY1 = eval(d.getElementById('EY1').value);
          var EY2 = eval(d.getElementById('EY2').value);
          //Exponential Equation y=a*bx
          var a,bx,EQX,EQY;

          //To organize the system for "x"
          if(EX1 > EX2) {
            EQX = EX1 - EX2;
          }
          else if(EX2 > EX1) {
            EQX = EX2 - EX1;
          };
          //To organize the system for "y"
           if(EY1 > EY2) {
            EQY = EY1 / EY2;
           }
          else if(EY2 > EY1) {
             EQY = EY2 / EY1;
           };
           a = -(EY1) + Math.pow(bx,EX1);
          bx = Math.pow(EQY,EQX);
          document.getElementById('ExpEQ').innerHTML = "y = " + a + "(" + bx + ")<sup>x</sup>";
        }
      </script>

仅适用于点(0,4)和(1,8)形式为y = a(b) x 的“b”。当我将这些点插入框中时,A总是-3。当我使用同一条线上的点时,方程式完全不同。有没有解决方案?

1 个答案:

答案 0 :(得分:0)

在为其指定值之前,不能在等式中使用bx。那两行是乱序的。如果EX1 = EX2或EY1 = EY2,EQX和EQY不会被分配给任何东西。 eval是javascript中的禁忌词,应谨慎使用。其他人会骚扰你使用它。阅读有关为什么这么糟糕的事情并自行决定。