Optimisation sur Matlab
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Optimisation sur Matlab



  1. #1
    invite834b1f2f

    Question Optimisation sur Matlab


    ------

    Bonjour à tous,

    J´ai un petit soucis sur un programme Matlab et je voulais avoir votre avis.
    Je possède une courbe experimentale (qui a en gros la forme d´une exponentielle) et qui représente la variation de pression entre l´entrée et la sortie d´une eprouvette en fonction de la vitesse du fluide qui traverse cette meme éprouvette (Pentrée=40MPa)

    L´equation qui modélise tout ceci m´est donnée et l´objectif est d´optimiser les deux paramètres inconnus de l´équation.


    J´ai taper le programme et les résultats obtenus sont plutot satisfaisant.

    Mais afin d´affiner ma solution, on augmente le nombre de mesures. Pour cela on trace deux autres courbes (meme principe que précédemment) mais avec cette fois ci Pentrée=30MPa et Pentrée=20MPa.

    Par analogie, je pensais rentrer mes nouvelles valeurs expérimentales dans mon tableau de données (à la suite des précédentes) et de relancer l´optimisation.
    Malheureusement cela ne marche pas et je crois que cela vient du fait qu´il y a 3 courbes. Je suppose que Matlab ne peut pas gérer le fait de passer d´une courbe à l´autre. Avez vous une idée?

    Merci d´avance

    Doudi

    -----

  2. #2
    invite1091d7f6

    Re : Optimisation sur Matlab

    Salut,

    Matlab est un langage simple d'utilisation mais quand même!

    En effet, il ne comprendra rien si tu fais ça.
    Tu peux soit lancer 3 optimisations à la suite, extraire les valeurs optimisées puis prendre la moyenne.
    Mais le mieux resterait de faire une optimisation sur la fonction:
    Psortie = f(Pentrée,vitesse du fluide). C'est une optimisation sur une fonction à deux variables et ça te donnera la meilleure réponse à ta question. Tu peux le faire avec la fonction fit (c'est déjà celle que tu utilises non?).

    Bon courage!

  3. #3
    invite834b1f2f

    Re : Optimisation sur Matlab

    la fonction que j´utilise pour l´optimisation est lsqcurvefit. (et oui ca me paraissait trop simple aussi...)

    Pour ce qui est de la triple optimisation et de la valeur moyenne, ca m´embete un peu. Prendre la moyenne, c´est toujours un peu dangereux.

    J´essayerai bien ta deuxieme methode mais je vois pas trop comment programmer ca. J´ai pour l´instant une fonction type:

    DeltaP=f(v,alpha,beta) avec v la vitesse et alpha beta mes parametres.

    Comment introduire la pression d´enttrée pour en faire une fonction à deux variables?

  4. #4
    invite834b1f2f

    Re : Optimisation sur Matlab

    .... Non j´ai rien dis, autant pour moi
    Je vais essayer

    Merci

  5. A voir en vidéo sur Futura
  6. #5
    invite834b1f2f

    Re : Optimisation sur Matlab

    J´ai essayé ce que tu m´as dis Poual. J´avais quelque chose de ce type avant:

    FunOptim = @(a,V) f(V,alpha,beta) ,'a','V';
    options=optimset('TolFun',1e-20,'maxfunevals',1e6,'maxiter' ,1e6);
    a=lsqcurvefit(FunOptim,a0,V,De ltaP,options);

    avec ao=(alpha0 , beta0) =>initialisation des parametres

    Je l´ai modifier par ceci:

    FunOptim = @(a,Pin,V) f(Pin,V,alpha,beta),'a','Pin', 'V';
    options=optimset('TolFun',1e-20,'maxfunevals',1e6,'maxiter' ,1e6);
    a=lsqcurvefit(FunOptim,a0,V,Po ut,options);


    Ca ne marche pas. Je dois avoir un soucis de sintaxe. L´optimisation d´une fonction de deux variables (Pin et V) ne dois pas s´ecrire comme ca. Une idée?

    Merci

  7. #6
    invite1091d7f6

    Re : Optimisation sur Matlab

    Yo,

    En fait, les fonctions fit et lsqcurvefit ne peuvent pas faire du fit à 2 variables. Cependant, il existe beaucoup de solutions pour l'ajustement de paramètres pour des surface sout Matlab. Les mots clés pour google sont "matlab surface fitting" (Ici). Mais attention, ça commence à être tendu.

    La méthode des moyennes n'est pas du tout déguelasse et te donnera quelquechose de très correct. Tu peux au pire, retracer la fonction que tu obtiens avec les paramètres ajustés pour voir si ça colle bien avec la surface expérimentale a posteriori.

    Bon courage...

  8. #7
    invitec61d261b

    Re : Optimisation sur Matlab

    BONJOUR
    j'ai une probleme a programmer sous matlab un programme de minilisation d'erruer peut tu m'aider?
    merci

Discussions similaires

  1. Optimisation avec contraintes sous Matlab
    Par invite690e7e9c dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 01/11/2009, 09h29
  2. Optimisation écart type sous Matlab
    Par invite9632ffc8 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 25/04/2009, 14h32
  3. Devoir maison sur optimisation et fonctions dérivées.
    Par invite910856b6 dans le forum Mathématiques du collège et du lycée
    Réponses: 4
    Dernier message: 16/03/2009, 19h10
  4. Optimisation sous contrainte (Matlab)
    Par invitebf68775b dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 07/03/2009, 11h15
  5. Optimisation boucle Matlab.
    Par invite01e6eb40 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 13/04/2007, 12h50