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 :

Recherche modèle linéaire par moindres carrés


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Recherche modèle linéaire par moindres carrés
    Bonjour à tous,

    Je suis bloqué sur un pbm à priori simple mais qui me pose des soucis...

    Voilà je dois résoudre un système d'équation suivant:

    Y(1) = a2.X(1)+Zs(a1-a2)
    Y(2) = a2.X(2)+Zs(a1-a2)
    ...
    Y(R) = a2.X(R)+Zs(a1-a2)

    Par un critère de moindres carrés. Les éléments donnés sont Y et X pour chacune des équations et les paramètres à trouver sont donc a1,a2 et Zs.
    Il s'agit en fait d'un modèle linéaire de fonction avec deux droites de coefficient directeur a1 et a2 et d'un point de fracture Zs entre les 2 droites.

    Vous auriez une idée pour implémenter ça dans Matlab?

    Merci beaucoup par avance!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    As-tu regardé la Contribution Ajustement aux moindres carrés de courbes et de surfaces?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Merci j'ai trouvé mon bonheur avec tous les liens et la fonction fminsearch!

    Pour info voilà le code que j'ai utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    options=optimset('fminsearch')
    options.Display='iter' 
    starting = rand(1,3);
    [Param,fval,ok,output]=fminsearch(@(Param) optim...(DataXY,Param),starting,options)
    et le fichier optim.m :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function y=optim(DataXY,Param)
     
    y=0;
    for i=1:size(DataXY,1)
        if(DataXY(i,1)<= Param(3))%X<=Zs <=>modèle linéaire
            y = y + (DataXY(i,2)-Param(1)*DataXY(i,1)).^2;
        else %X>Zs <=>modèle non linéaire
            y = y + (DataXY(i,2)-Param(2)*DataXY(i,1) - Param(3)*(Param(1)-Param(2))).^2;
        end
    end
    Ce qui me retourne bien les 3 paramètres recherchés...

  4. #4
    Membre éprouvé
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour,

    Etant donné que ton système à l'air linéaire, une simple division matricielle devrait suffire, et tournera bcp plus vite.

    Il doit y avoir une erreur dans les équations données car Z*(a2-a1) n'est pas facteur de X (c'est la constante, pas un changement de pente). Sous cette forme, c'est bel et bien linéaire !

  5. #5
    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,
    Citation Envoyé par VV33D Voir le message
    Bonjour,

    Etant donné que ton système à l'air linéaire, une simple division matricielle devrait suffire, et tournera bcp plus vite.
    Il m'a l'air faussement linéaire ce problème, étant donné que Zs, a1 et A2 sont les variables, on aura du Zs*a1 et du Zs*a2.

Discussions similaires

  1. Approximation de données expérimentales par moindres carrés
    Par German Trainee dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 26/09/2014, 10h17
  2. modèle biologique, optimisation moindres carrés
    Par Eleasias dans le forum Scilab
    Réponses: 2
    Dernier message: 16/10/2013, 17h20
  3. Points 3D estimés par moindre carrés
    Par Niagara22 dans le forum Mathématiques
    Réponses: 0
    Dernier message: 02/03/2010, 11h18
  4. Moindres carrés non linéaires
    Par steph42 dans le forum Mathématiques
    Réponses: 7
    Dernier message: 26/12/2007, 15h44

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