Mit MATLAB versuche ich, einen Sattelpunkt einer Funktion im 4D-Raum zu finden. Genauer gesagt ist die Funktion f (x, y, z, w) und ich muss ihre Minima in Bezug auf x und y und Maxima in Bezug auf z und w finden. Mit anderen Worten, der Sattelpunkt im 4D-Raum ist ein Minimum in x und y und ein Maximum in z und w. Die Variablen x, y, z und w sind innerhalb der jeweiligen Domänen beschränkt.Extremize-Funktion im 4D-Raum (minimiere in Bezug auf zwei Variablen, maximiere in Bezug auf die anderen beiden Variablen) in MATLAB
Ich habe versucht mit fmincon, aber ohne Erfolg. Die Funktion f (x, y, z, w) muss sicher einen Sattelpunkt in der Domäne haben, in der sie definiert ist. Was ich getan habe, ist zuerst fmincon zu verwenden, um f in Bezug auf x und y zu minimieren, und dann fmincon in einem nächsten Schritt zu verwenden, um -f in Bezug auf z und w zu minimieren und dann zu iterieren. Ich habe auch versucht, fmincon zu verwenden, um f (x, y, z0, w0) -f (x0, y0, z, w) zu minimieren, wobei (x0, y0, z0, w0) ein Anfangspunkt oder einer aus einer vorherigen Iteration berechneten ist . Die letztere Methode (ich weiß, dass es ziemlich ineffizient ist, da es keine richtigen Gewichte gibt), hat auch nicht funktioniert.
Ich wäre sehr dankbar, wenn ihr irgendwelche Ideen hättet, wie das funktioniert. Vielen Dank im Voraus.
In der Tat, wie ich in der ursprünglichen Post erwähnen, dass etwas Ich habe es getan, aber es hat leider nicht funktioniert. – Jadohito
Mein schlechtes. Haben Sie den Farbverlauf/Hessian zu Matlab fmincon angegeben? –
Nein, ich kann das nicht tun, da es keinen analytischen Ausdruck für den Gradienten gibt. – Jadohito