関数として定義されている最大化のソリューションを別の関数で使用したいと思います。次に例を示します。
f1[y_] := x /. Last[Maximize[{Sin[x y], Abs[x] <= y}, x]] (* or any other function *)
この定義は問題ありません。たとえば、私が与えるf1[4]
と、答えが得られます-((3 \[Pi])/8)
。
問題は、別の関数で使用したいときにエラーが発生することです。例えば:
FindRoot[f1[y] == Pi/4, {y, 1}]
次のエラーが発生します。
ReplaceAll :: reps:{x}は、置換ルールのリストでも有効なディスパッチテーブルでもないため、置換に使用することはできません。>>
FindRoot :: nlnum:関数値{-0.785398 +(x / .x)}は、{y}={1.}で次元{1}の数値のリストではありません。>>
私はこれに数日間苦労しています!コメント、アイデア、ヘルプ、...は深く感謝しています!どうもありがとうございます!