解を求める

作成日:2001-05-02
最終更新日:

Excel でいう、ゴールシーク機能を実現してみます。

ゴールシーク機能とは、特定の出力値になるような入力値を求める機能です。 最初に、見込み入力値を入れて、出力値がどの程度になるかを確かめます。 そして、目標となる出力値を入れて、必要な入力値を入れます。具体例で確かめてみましょう。

まずは、見込み入力値として値 (x) の欄に 2 を、式の欄には 2 * x + 3 を入れます。 そこで計算ボタンをクリックすると、答が 7 となります。 ここで、答が 6 となるような x を求めます。目標値 (goal) に 6 を入れて解のボタンをクリックして下さい。 解の欄に 1.5 が表示されます。

値 ( x )
(fx)


目標値(goal)

なんらかの事情により計算を中断することがあります。 このときは「エラーのため計算できません。」という警告を表示します。 中断の理由は、次のような原因が考えられます。

  1. 変数 x を変えても式の値が変化しない。x * 0 + 3 や、x + 3 - xなど。
  2. 目標値が、式から決まる値の存在範囲外(値域外)である。式が x * x + 3 のときに目標値が -3 であるときなど。
  3. 見込み入力値と式が、ある特殊な関係にあるとき(条件省略)。
  4. その他、式が特殊な形のとき

3. の場合は、見込み入力値を少し増やす(あるいは減らす)と、解が得られることがあります。

まりんきょ学問所へJavaScript 手習い


MARUYAMA Satosi