2016-03-27 7 views
1

私は今このコードを作業していますが、私は9年生でしかないので、私は多くの代数経験はありません。私は多くのことを試してきましたが、これは私のスクリプトが今どこにあるのかです(これは単なるJavaScriptであり、idは情報と出力を持つボックスです)。唯一=フォームyに "B" で動作指数方程式を2点から解く

<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> 

(b)は、点(0,4)と(1,8)からX。これらの点をボックスに差し込むと、Aは常に-3になります。私は同じ行からポイントを使用すると、方程式は完全に異なります。どんな解決策がありますか?

+0

あなたは実際に何を解決しようとしていますか?入力と期待される出力の例を挙げてください。 –

+0

例:ポイント(0,4)、(1,8)を接続し、y = 4(2)x(xは上付き文字)になります。また、プラグイン(2,16)、(3,32)、同じ方程式を取得する必要がありますが、代わりにそれはオフになります。 "b"は依然として同じですが、 "a"はNaNです。 – SubLock69

答えて

0

あなたは値を割り当てられる前にaの方程式でbxを使うことはできません。それらの2つの回線は故障しています。 EX1 = EX2またはEY1 = EY2の場合、EQXとEQYは割り当てられません。 evalはjavascriptのタブー単語であり、非常に注意して使用する必要があります。他の人がそれを使用することについてあなたを嫌うでしょう。なぜそれが悪いのかを読んで、自分で決めてください。

+0

ありがとう、私はそれを試みます。また、eval()を使用して、変数に変数がない場合、変数が正しく表示されず、その変数の値が表示されません。回避策はありますか? – SubLock69

+0

@CarterそれはEX1要素のHTMLに依存します。それが '

123
'だった場合、 'document.getElementById( 'EX1')。innerHTML'は123を与えます。質問にあなたのHTMLを追加することができます。 – Observer

+0

OK、私は何が間違っているのかを考え出し、修正しました。私はlog()でそれを打つことができたが、もっと簡単な方法を見つけた。私はeval()関数を使わない方法を見つけようとします。 – SubLock69