• 締切済み

f(x)の値が最小となるxを求めたい

計算結果が最小となる値を求めたいと思っています。 例えば、以下のような場合、A4の値が最小となるA2の値を求めたいのです。 (実際の計算式はもっと複雑です) A1 10 A2 [入力] A3 90 A4 =ABS((A2-A1)*5-(A3-A2)*8) GoalSeekを使って求めようと思いましたが、最小値が分からないので上手くいきませんでした。 (この式の場合、最小値が0であるとわかっていますが、実際は0とは限りません) ソルバーというアドインをインストールすれば上手くできそうなのですが、自分一人が使うシートではないので、ファイルを渡しただけでは動かないようにはしたくありません。 なにかいい手はないでしょうか? どうか皆様のお知恵をお貸しください。

みんなの回答

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>なにかいい手はないでしょうか? 代数で求められます。 A4=ABS((A2-A1)*5-(A3-A2)*8) A4をy、A2をxに置き換えれば次のようになります。 y=ABS((x-A1)*5-(A3-x)*8) 括弧を外しABS関数も外せば次の式になります。 y=5x+8x-A1*5-A3*8 y=13x-A1*5-A3*8 y=x-(A1*5+A3*8)/13 y=0としてxを左側に移すと次のようになります。 x=(A1*5+A3*8)/13 A1=10、A3=90として値を算出すれば求める値になります。 x=59.23076923

Mathmi
質問者

お礼

回答ありがとうございます。 確かに、結果が0になると分かり切っていれば、最適値の導出関数を導き出す事もできます。 が、今回自分が質問させて頂いたのは、計算途中の値に閾値があるので、質問文にあるように結果が0にならないんです。 0になるなら、回答のように最適値の導出方程式を導いてもいいですし、GoalSeekで求める事もできます。 計算途中の値に閾値があったりして結果が不定の状態で、計算結果が最小になる入力値xを求めたい、というのが今回の趣旨です。

関連するQ&A