1

1つの変数の関数の最大値を計算しようとしています(次のようなものです:)プロット

(これは自明でない畳み込みから計算されるので、いいえ、私にはその式がありません)

コマンドの使用:

NMaximize [{f [x]、0 <x <1}、x、AccuracyGoal-> 4、PrecisionGoal-> 4]

(私は超精度についてそれほど心配していません、10 ^ -4の概算はすでに十分です)

この結果はx*= 0.55であり、これは本来あるべきことではありません。(つまり、3番目のピークを選択しています)。

x = 0から数えるときにグローバルな最大値が最初のものであることを数学に伝える方法はありますか(これは常に正しいことを私は知っています)、またはより良いアプローチで数学を検索する方法はありますか?(注意、刺激アニーリングアプローチのようなものは必要ありません。各評価には非常にコストがかかります!)

どうもありがとう!

4

1 に答える 1

4

FindMaximumの開始点0または同様に小さい値で試してください。

于 2012-04-12T10:13:00.253 に答える