Trouver le minimum de “y=x*x” à l'aide de l'algorithme génétique dans Matlab
Quelqu'un voudrait-il m'aider s'il vous plaît dans cette question. Je suis nouveau dans Matlab... Et c'est un peu dur pour moi de comprendre comment créer et utiliser un algorithme génétique dans Matlab.
Si quelqu'un pouvait l'aider à écrire du code très simple pour la recherche de minimum/maximum de la fonction spécifiée.
J'ai lu que la gatool doit être utilisé pour que... mais je ne peux pas comprendre les exemples de Matlab réseau d'entraide. Je suis en train de faire les prochaines étapes:
-
Dans l'éditeur de texte je suis en tapant le suivant:
function y= parabola(x) y=x*x; end
-
Puis je lance le
GATOOL
et la spécification de cette fonction de la@parabola
- Réglage du nombre de variables est égal à 2)
Initial range = [-10;10]
.-
Les autres paramètres sont définis par Défaut
Lorsque j'appuie sur
Start
Bouton je vois un résultat:Erreur dans fitnessfcn: argument d'Entrée "x" n'est pas défini.
- Ce n'est pas une "écriture de mon programme pour me" de service.
- Je demande juste de l'aide... Comme vous pouvez le voir, j'ai lu les solutions possibles de cette tâche. Et ils n'ont pas de travail... j'ai Donc décidé de demander ici
Vous devez vous connecter pour publier un commentaire.
Le principal problème est que vous ne comprenez pas comment la boîte à outils des œuvres. Vous devriez vous référer à la documentation pour obtenir l'idée.
Donc, la fonction de remise en forme devrait être un la fonction de poignée, et retourne un scalaire.
Tout d'abord, votre fonction n'est pas bien définie. Si vous souhaitez définir une fonction anonyme, vous devriez
Le même effet peut être obtenu avec l'interface graphique de la GA. Dans le cas où vous souhaitez définir votre fonction dans une
m
fichier que vous devriez avoir quelque chose comme:parabole.m
Et vous définissez la poignée comme
fh = @parabola
. Et dans le code ci-dessus vous remplacerparabola
pour la nouvelle poignée,fh
.J'espère que cela vous aider à obtenir commencé.