Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

[MATLAB] Fonction fminsearch



  1. #1
    Helyseria

    [MATLAB] Fonction fminsearch


    ------

    Bonsoir,

    J'aurais besoin de vos lumières concernant la fonction fminsearch de MATLAB.
    J'ai une fonction J(a,x,y) à minimiser selon a avec x et y donnés (mais qui reste des paramètres que je peux faire varier suivant le cas étudié).
    J'utilise donc la fonction fminsearch de la manière suivante:
    fminsearch(@J,X0,options,x,y)

    Quand je remplace xs et ys par leurs valeurs (par exemple: fminsearch(@J,X0,options,1,2)) et que je rentre ça dans la fenêtre de commande j'obtiens bien mon a optimal. Cependant je voudrais tracer dans un repère (x,y,z) mes a optimaux en fonction de x et y.
    J'écris donc une macro:

    X = 1:0.1:10;
    Y = 1:0.1:10;
    plot3(X,Y,fminsearch(@J,8,OPTI MSET('Tolx',1e-10,'TolFun',1e-10),X,Y,0.5),'b')


    Mais quand j'exécute la macro cela ne fonctionne pas et j'obtiens le message d'erreur suivant:

    ??? Subscripted assignment dimension mismatch.

    Error in ==> fminsearch at 205
    fv(:,1) = funfcn(x,varargin{:});

    Error in ==> Plot at 4
    plot3(X,Y,fminsearch(@J,8,OPTI MSET('Tolx',1e-10,'TolFun',1e-10),X,Y,0.5),'b');



    Auriez vous une idée ?

    Merci d'avance et bonne soirée/nuit.

    -----

  2. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  3. #2
    Helyseria

    Re : [MATLAB] Fonction fminsearch

    Correction, ma macro c'est:
    X = 1:0.1:10;
    Y = 1:0.1:10;
    plot3(X,Y,fminsearch(@J,8,OPTI MSET('Tolx',1e-10,'TolFun',1e-10),X,Y,0.5),'b')

    Et je remplace x et y par leurs valeurs, pas xs et ys.
    De plus J dépend aussi d'un paramètre que j'ai oublié de mentionner car il vaut toujours 0.5.
    J'ai également fait quelques fautes... J'aurais dû écrire ce message moins vite et moins tardivement. (On ne peut pas éditer le premier message sur FS ?)

  4. #3
    Helyseria

    Re : [MATLAB] Fonction fminsearch

    J'ai finalement réussi à trouver.
    Pour ceux qui veulent la solution (en faisant varier seulement y pour l'exemple):

    figure(1)
    for i=1:0.1:10
    a = fminsearch(@J,8,OPTIMSET('Tolx ',1e-10,'TolFun',1e-10),4,i,0.5);
    hold on
    plot(i,a,'r')
    xlabel('y');
    ylabel('a');
    hold off
    end;


    Par contre j'ai maintenant un autre problème, je me suis rendu compte en traçant mes résultats qu'il fallait une condition à la recherche de minima et qu'il fallait donc que j'utilise la fonction fmincon. Malgré la lecture de la doc je ne parviens pas à comprendre comment coder ma condition.
    Je veux minimiser la fonction J(a,x,y) selon a avec la condition suivante:



    Où B(a) est une fonction non linéaire de a.
    Comme ma condition dépend du résultat à trouver ET doit être valable pour tout x réel je ne parviens pas à l'incorporer à fmincon.

    Pourriez vous m'aider ?
    Merci d'avance
    Dernière modification par Helyseria ; 28/10/2012 à 20h04.

Discussions similaires

  1. fonction quad de matlab
    Par Titoune971 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 30/06/2011, 09h44
  2. Comment insérer une fonction Matlab dans les paramètres d'entrée d'une autre fonction ??
    Par °Oo>>PCSI2<<oO° dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 04/01/2010, 08h16
  3. Matlab et sa fonction subplot
    Par Stud-ENSPG dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 29/07/2007, 12h50
  4. [Matlab] Fonction Filter
    Par Gatien dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/04/2006, 11h46
  5. matlab:fonction séries
    Par petitelune dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 03/07/2005, 19h15