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 :

Trouver l'équation d'une courbe


Sujet :

MATLAB

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 195
    Points : 101
    Points
    101
    Par défaut Trouver l'équation d'une courbe
    Bonjour,
    J'ai des données (X,Y), j'ai tracé la courbe Y=f(X) : (voir courbe rouge de la figure).
    Je voudrai savoir comment je peux trouver la forme de la fonction à partir de cette courbe. j'ai essayé d'utiliser la fonction fil mais j'ai pas réussi de trouver le modèle général ainsi que les bonne entrée de la fonction fit dans mon cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    f=fit(X,Y,'smoothingspline')
     
    plot(f,X,Y)


    Merci pour votre aide.
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Homme Profil pro
    Éternel universitaire
    Inscrit en
    Avril 2012
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Éternel universitaire

    Informations forums :
    Inscription : Avril 2012
    Messages : 421
    Points : 639
    Points
    639
    Par défaut
    Bonjour,

    f est un objet contenant tous les informations concernant le fit dans le champ p.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    f.p
    ans = 
          form: 'pp'
        breaks: [1x168 double]
         coefs: [167x4 double]
        pieces: 167
         order: 4
           dim: 1
    En revanche, tu peux voir que la forme n'est pas triviale puisqu'il s'agit d'un fit polynomial par partie (piecewise polynomial fitting). Il y a donc autant d’équations décrivant ta courbe que de segments. "L'équation générale" est donc un ensemble d'équations. Si tu veux une équation toute belle et simple de type polynomiale, il faut abandonner l'argument 'smoothingspline' et effectuer un fit plus simple, par exemple avec 'poly3'.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 195
    Points : 101
    Points
    101
    Par défaut Trouver l'équation d'une courbe
    Merci pour votre réponse
    J'ai utilisé 'poly5' et il a l'air pas mal.
    En effet, en jouant sur un autre paramètre je trouve presque la même allure avec un petit décalage (courbe bleu). Je voudrais savoir si possible de fixer les mêmes coefs de l'équation générale trouvés pour la courbe rouge et identifier que le coef qui joue sur la position de la courbe.
    Merci
    Images attachées Images attachées  

  4. #4
    Membre confirmé
    Homme Profil pro
    Éternel universitaire
    Inscrit en
    Avril 2012
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Éternel universitaire

    Informations forums :
    Inscription : Avril 2012
    Messages : 421
    Points : 639
    Points
    639
    Par défaut
    Citation Envoyé par conanran Voir le message
    En effet, en jouant sur un autre paramètre je trouve presque la même allure avec un petit décalage (courbe bleu). Je voudrais savoir si possible de fixer les mêmes coefs de l'équation générale trouvés pour la courbe rouge et identifier que le coef qui joue sur la position de la courbe.
    J'ai pas tout compris. Que représente la courbe bleue ? C'est certain que ce n'est pas le fit avec poly5....
    Deuxième phrase, ce que je comprends c'est que tu veux décaler la courbe obtenue avec le fit horizontalement (fit avec les 4 premiers paramètres déjà déterminés, seul le 5e étant libre). Je ne crois pas qu'il existe une option fit avec contrainte dans les fonctions de base de matlab de cette forme, mais elle peut se coder facilement (avec fminsearch par exemple). Mais bon, peut-être que pour tes besoins tu peux juste faire une faire ça manuellement avec appréciation visuelle.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut
    Salut,

    Quand tu visualise ta courbe, tu peux utiliser la fonction intégré à Matlab : "Basic Fitting" dans l'onglet Tools.

    Ensuite tu coche "Show Equations" pour visualiser l'équation de la courbe qu'il a réussi a approximé.

Discussions similaires

  1. [Débutant] Trouver l'équation d'une courbe en fonction d'un tableau de valeur
    Par mahmoudbs dans le forum MATLAB
    Réponses: 5
    Dernier message: 04/08/2012, 22h38
  2. Récupérer l'équation d'une courbe de tendance dans une cellule Excel
    Par Marsama dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 12/04/2011, 16h45
  3. Réponses: 4
    Dernier message: 16/03/2010, 14h34
  4. trouver le maximum dans une courbe
    Par Axiome dans le forum Simulink
    Réponses: 1
    Dernier message: 16/11/2009, 09h11
  5. Trouver l'aire sous une courbe (l'intégrale) avec un Chart
    Par jerome.c dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/04/2008, 19h01

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