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

Mathématiques Discussion :

Linéarisation d'une fonction


Sujet :

Mathématiques

  1. #1
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 92
    Points : 49
    Points
    49
    Par défaut Linéarisation d'une fonction
    Bonjour tout le monde,

    J'ai une question triviale à poser, je me sens un peu bête...
    J'ai vu un modèle du type:
    y = delta * exp(a*x) + b
    (ou delta est une constante connue) être ajusté de manière non linéaire (moindre carrés) à une série de données. Et la je me suis dis, mais en fait c'est linéaire et, si je ne me trompe pas c'est:
    log(y/delta) = a*x + log(b/delta)
    soit:
    Y = a*x + B
    on obtient directement la valeur des coefficients plutot que de faire de la reg. non linéaire (avantage: valeurs exactes).

    Je me programme ca pour vérifier et je me pose une question bête, ben oui ca fit en linéaire, c'est choeutte, mais comment je fais pour retrouver mes valeurs de coefficients a et b du modèle initial (le "non linéaire")? Pour comparer les différences des valeurs des coéfficients à celles que je pourrais obtenir en reg. non linéaire?...

    J'ai du rater une marche quelque part...

    Merci par avance à vous,

    Grass

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Je me demande si tu t'es pas planté sur ta linéarisation.

    y = delta * exp(a*x) + b
    y/delta = exp(a*x) + b/delta
    log(y/delta) = log(exp(a*x) + b/delta)

    Et là t'es bloqué puisque log(a+b) != log(a) + log(b).

    Sinon, c'est bien tenté.


    Si ça avait marché, il aurait suffit de voir que t'as B = log(b/delta). Donc si t'as une valeur pour B, c'est trivial de retrouver la valeur de b.

    Par contre, vu que les expressions sont assez simples, tu peux peut-être tenter une résolution directe des moindres carrés.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Membre du Club
    Inscrit en
    Février 2013
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 92
    Points : 49
    Points
    49
    Par défaut
    Merci pour ce retour, effectivement CQFD, ca reste bien un modèle non linéaire. Quand à la résolution directe, oui c'est une bonne idée!
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment chronométrer une fonction
    Par 323 dans le forum Pascal
    Réponses: 3
    Dernier message: 19/03/2003, 20h24
  2. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  3. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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