2012-04-12 43 views
1

ich versuche, die Maxima irgendeiner Funktion einer Variablen (etwa wie folgt :) plotin Mathematica mit mehreren Maxima Maximieren

(die aus einer nicht-trivialen Faltung wird berechnet zu berechnen, so, nein, ich keinen Ausdruck dafür hat)

Mit dem Befehl:

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

(Ich bin nicht so besorgt um super Genauigkeit, eine grobe Schätzung von 10^-4 ist schon genug)

Das Ergebnis davon ist x * = 0,55, was nicht sein sollte. (d. h. es wählt den dritten Peak aus).

Gibt es eine Möglichkeit, Mathematiker zu sagen, dass die globalen Maxima die erste sind, wenn man von x = 0 zählt (ich weiß, dass das immer wahr ist), oder mathematische Suche mit einem besseren Ansatz macht? (Beachten Sie, ich möchte nicht Dinge wie stimuliert Annealing Ansatz; jede Auswertung ist sehr teuer!)

Vielen Dank!

+0

Haben Sie FindMaximum mit einem Startpunkt von 0 (oder einem ähnlich kleinen Wert) ausprobiert? –

+0

Ok. Ich denke, dass das Problem gelöst hat. Ich habe das schon einmal probiert, aber ich habe vergessen, f (0) zu definieren (was = 0 ist), also hielt ich Sendefehler an die unbestimmte Konsole, aber der PC war gedämpft, also wusste ich nicht ... - - Können Sie eine Antwort posten, damit ich sie akzeptieren kann? –

Antwort

4

Versuchen Sie FindMaximum mit einem Startpunkt von 0 oder einem ähnlich kleinen Wert.