IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

Ajustement des paramètres (Fit)


Sujet :

MATLAB

  1. #1
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut Ajustement des paramètres (Fit)
    Bonsoir,

    J'ai une fonction (dans un fichier .m) à plusieurs paramètres, j'ai d'un autre coté des mesures pratiques. Je veux ajuster les paramètres de ma fonction pour que s'obtient le même résultat que l'expérimental (à peu près).
    donc y a t-il une fonction que me permette d'ajuster les paramètre de ma fonction théorique pour remonter au paramètre utilisé dans l'expérimental.
    j'ai regardé plusieurs fonctions de fit dans matlab mais dans tout ces cas on cherche l'équation que me permette d'avoir le même profil expérimental,...

    Merci d'avance
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    pourquoi les fonctions de fit matlab ne te conviennent pas?

    Par exemple : Optimal Fit of a Non-linear Function

    ta fonction est linéaire ou non-linéaire?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Citation Envoyé par magelan Voir le message
    Bonjour,

    pourquoi les fonctions de fit matlab ne te conviennent pas?

    Par exemple : Optimal Fit of a Non-linear Function
    Merci pour votre réponse Megelan, je vais l'essayer et je vous donne le résultat (j'ai pas matlab maintenant mais d'après la définition dans mathworks, je crois que ça doit marcher).

    Citation Envoyé par magelan Voir le message
    ta fonction est linéaire ou non-linéaire?
    Non elle n'est pas linéaire et les paramètre de ma fonction sont liés entre eux de façon non linéaire aussi.
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  4. #4
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Citation Envoyé par magelan Voir le message
    J'arrive pas à bien comprendre comment utilisé cette fonction :

    normalement cette fonction de fit permet d'ajuster les paramètres de ma fonction y pour se rapprocher de y expérimental :

    Je m'explique autrement,

    Je prend, par exemple, un cas simple pour comprendre le principe :

    j'ai comme valeur expérimentale le vecteur suivant y_exp :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    x=0:.1:10;
    a=3
    y_exp=a*x.^2.*sin(a*x).*cos(a^3*x); (on suppose que j'obtient ce vecteur expérimentalement)
    maintenant puisque j'ai l'expression théorique de y, je veux chercher la valeur
    a (qui est dans la pratique égale à 3).

    Comment faire ça avec la fonction fit de matlab ou avec autre fonction? comment faire si j'ai plusieurs paramètres (ou plus précisement les condition de l'expérience, a,...) et que je dois les trouves à partir des mesures et le calcul théorique.
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  5. #5
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    En décortiquant un peu la fonction fitfun de matlab, j' peux affirmer que cette fonction n'est application que pour une fonction de la forme Alors cette fonction, ne peux pas être appliquer dans mon cas.
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    La fonction fitfun.m est juste un exemple, tu peux écrire ce que tu veux à l'intérieur du fichier, tu peux aussi changer le nom...

    Avec la fonction que tu as donné en exemple, on pourrait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function err = mafonction(a,x,y_exp)
     
    a=3;
    y=a*x.^2.*sin(a*x).*cos(a^3*x);
    err = norm(y-y_exp);
    Et l'optimisation du paramètre a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    % Créations de "valeurs expérimentales"
    x=0:.1:10;
    a=3;
    y_exp=a.*x.^2.*sin(a.*x).*cos(a^3.*x);
     
    % Ajustement du paramètre a :
    start = 1;
    [estimated_a f] = fminsearch(@(x)mafonction(x,x,y_exp),start)
    Par contre l'algorithme ne trouve pas de solution satisfaisante.... C'est cette fonction pour laquelle tu cherches les paramètres?

    Sinon pour rajouter d'autres paramètres, il suffit de les rajouter en entrées de ta fonction.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  7. #7
    Membre éprouvé
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Points : 1 146
    Points
    1 146
    Par défaut
    Citation Envoyé par magelan Voir le message
    Par contre l'algorithme ne trouve pas de solution satisfaisante....

    Vous avez raison, alors on utilise une autre fonction ou bien on modifie le contenue de cette fonction et au lieux de calculé la différence entre la courbe théorique et la courbe pratique, on utilise méthode de moindre carré ou bien, ...
    Si tu trouves ma réponse utile, n'oublies pas de voter pour ce me message

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Si tu as la toolbox optimisation, tu peux tester les fonctions de cette toolbox, lsqnonlin par exemple.
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

Discussions similaires

  1. Ajustement des paramètres d'une FFT via pymedia (mp3)
    Par Svart26 dans le forum Calcul scientifique
    Réponses: 5
    Dernier message: 08/06/2007, 08h50
  2. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00
  3. [Souris] Sauvegarde des paramètres du driver
    Par Giovanny Temgoua dans le forum x86 16-bits
    Réponses: 7
    Dernier message: 31/01/2004, 19h24
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo