Finden Sie das minimum von "y=x*x" unter Verwendung des genetischen Algorithmus in Matlab
Würde jemand mir bitte helfen in dieser Frage. Ich bin neu in Matlab... Und es ist ein bisschen schwer für mich zu verstehen, wie erstellen und verwenden genetische Algorithmus in Matlab.
Wenn jemand helfen könnte, zu schreiben, einige sehr einfache code für die Suche minimum/maximum der angegebenen Funktion.
Ich habe gelesen, dass die gatool sollten verwendet werden für... aber ich kann nicht verstehen, die Beispiele der Matlab-Hilfe-Netzwerk. Ich mache die nächsten Schritte:
-
In text-editor, ich Schreibe die nächsten:
function y= parabola(x) y=x*x; end
-
Dann starte ich die
GATOOL
und die Angabe dieser Funktion wie@parabola
- Einstellung der Anzahl der Variablen (gleich 2)
Initial range = [-10;10]
.-
Die anderen Parameter sind als Standard festlegen
Wenn ich drücken Sie
Start
Button sehe ich ein Ergebnis:Fehler in fitnessfcn: Input-argument "x" nicht definiert ist.
- Dies ist keine "Schreibe mein Programm für mich" service.
- Ich Frage nur um Hilfe,... Wie Sie sehen können, dass ich gelesen habe, die mögliche Lösungen für diese Aufgabe. Und Sie hat nicht funktioniert... Also habe ich beschlossen hier zu Fragen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Hauptproblem ist, dass Sie nicht verstehen, wie die toolbox funktioniert. Sie sollten sich auf die Dokumentation, um die ganze Idee.
So, die fitness-Funktion sollte eine function handle und zurückgeben soll ein Skalar sein.
Zuerst, Ihre Funktion ist nicht eindeutig definiert. Wenn Sie wollen, definieren Sie eine anonyme Funktion, die Sie sollten
Das gleiche kann erreicht werden, mit der GUI von GA. In Fall, dass Sie wollen, definieren Sie Ihre Funktion in einer
m
Datei sollten Sie etwas ähnliches wie:Parabel.m
Ab und legen den Griff, wie
fh = @parabola
. Und in den obigen code ersetzen Sieparabola
für das neue handle,fh
.Ich hoffe, dies hilft Ihnen den Einstieg.