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 sous MATLAB "méthode des moindres carrées"


Sujet :

MATLAB

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut Ajustement sous MATLAB "méthode des moindres carrées"
    Bonjour a tous,

    je veux ajuster mes valeurs expérimentaux a un model théorique en utilisant la méthode de moindre carrée sous matlab (le but du jeu est la comparaison des d#ts erreurs de mes valeurs exp. par rapport a chaque courbes théorique et enfin choisir celle qui possède une R a peu prés égale à 1.
    j'ai déjà essaie mais je trouve pas les résultats attendus,est ce que vous pouvez me corriger mon programme SVP ,merci d'avance
    Voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    clear all
    close all
     
     
    x=[ 0   0.5      1       1.5      2        2.5      3        3.5     4         4.5      5        5.5      6        6.5      7        7.5      8        8.5     9         9.5      10       10.5       11     11.5       12      12.5      13       13.5      14     14.5       15      15.5     16      16.5     17      17.5      18      18.5       19      19.5       20] ;
    y1=[0 8.52e-84 1.95e-57 1.82e-39 4.00e-28 2.22e-21 8.27e-18 2.99e-16 1.12e-15 1.97e-15 2.70e-15 3.26e-15 3.68e-15 3.97e-15 4.16e-15 4.28e-15 4.36e-15 4.36e-15 4.40e-15 4.43e-15 4.45e-15 4.45e-15 4.46e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.47e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 ];
    w= [0 5.87e-84 1.20e-57 3.06e-40 2.59e-28 1.10e-21 7.21e-18 2.21e-16 1.00e-15 2.07e-15 2.51e-15 3.17e-15 3.63e-15 4.03e-15 4.18e-15 4.25e-15 4.38e-15 4.38e-15 4.38e-15 4.38e-15 4.40e-15 4.40e-15 4.41e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15];
    a= [0 1.82e-86 3.37e-66 2.12e-42 3.16e-31 1.23e-21 9.48e-18 1.90e-16 1.37e-15 2.50e-15 2.80e-15 3.20e-15 3.70e-15 4.10e-15 4.19e-15 4.30e-15 4.40e-15 4.40e-15 4.40e-15 4.40e-15 4.41e-15 4.42e-15 4.42e-15 4.42e-15 4.42e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15 4.44e-15];
    e1=[0 8.87e-85 1.68e-58 5.26e-40 4.56e-28 3.56e-21 8.89e-18 3.25e-16 1.22e-15 1.95e-15 2.65e-15 3.32e-15 3.75e-15 4.05e-15 4.15e-15 4.25e-15 4.25e-15 4.35e-15 4.45e-15 4.45e-15 4.45e-15 4.48e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 4.50e-15 ];
    e2=[0 7.45e-85 2.05e-57 2.26e-39 5.56e-29 2.89e-21 7.95e-18 3.99e-16 1.08e-15 1.58e-15 2.25e-15 3.24e-15 3.55e-15 4.00e-15 4.18e-15 4.26e-15 4.38e-15 4.38e-15 4.42e-15 4.42e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.43e-15 4.44e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 4.45e-15 ];
    e3=[0 8.86e-83 2.20e-67 0.26e-39 4.23e-40 2.23e-21 8.23e-18 2.25e-16 1.25e-15 1.92e-15 2.90e-15 3.16e-15 3.65e-15 4.10e-15 4.20e-15 4.30e-15 4.39e-15 4.37e-15 4.42e-15 4.42e-15 4.47e-15 4.47e-15 4.48e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.49e-15 4.50e-15 4.48e-15 4.49e-15 4.51e-15 4.51e-15 4.50e-15 4.50e-15 4.50e-15 4.51e-15 4.49e-15 4.49e-15 4.50e-15 ];
    e4=[0 6.58e-84 1.42e-57 2.44e-40 3.65e-28 1.36e-21 9.35e-18 1.45e-16 0.89e-15 2.03e-15 2.65e-15 3.28e-15 3.70e-15 3.98e-15 4.145e-15 4.29e-15 4.34e-15 4.34e-15 4.41e-15 4.44e-15 4.46e-15 4.46e-15 4.47e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 4.48e-15 ];
     
     
     
    plot(x,y1,x,w,x,a,x,e1,x,e2,x,e3,x,e4,'*') %les * sont les val exp 
    R=y1-w;
    R1=y1-a;
    R2=y1-e1;
    R3=y1-e1;
    R4=y1-e1;

  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,
    Je n'ai pas bien compris ce que tu cherches à faire?
    Tu veux calculer l'erreur quadratique? Par exemple pour R, ça donnerait :
    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
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    Merci pour votre réponse rapide.
    En fait je veux choisir parmi ces courbes laquelle la plus proche de mes valeurs expérimentaux c.a.d celle qui possède un écart-type (erreur) le + proche de 1 (méthode de moindre carrée) , du cou je dois calculer l'erreur entre chaque courbe et mes val exp.
    normalement il faut trouver des valeurs inférieur à 1 et après je vais les comparer pour choisir la meilleur.
    franchement je ne connais pas l'erreur quadratique.

  4. #4
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    correction du faute du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    R=y1-w;
    R1=y1-a;
    R2=y1-e1;
    R3=y1-e2;
    R4=y1-e3;
    R5=y1-e4;

  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
    Ce que tu décrits n'est pas exactement la méthode des moindres carrés. Pour plus d'informations, voir méthode des moindres carrés.

    Ensuite, tu fais une différence entre les deux signaux, donc tu ne peux pas comparer le résultat avec 1. En faisant une différence, l'erreur sera minimale lorsque la somme des valeurs absolues des différences est minimale (ce que j'ai proposé plus haut). Si ce n'est pas ce que tu veux faire, il va falloir expliquer plus clairement ce que tu cherches à faire...
    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.

  6. #6
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci pour le lien de wiki c'est exactement ce que je veux faire (calculer l'erreur entre val exp et chaque courbe pour choisir celle qui a l'erreur minimal)
    j'ai essayée avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    S=sum(abs(R).^2);
    S1=sum(abs(R1).^2);
    S2=sum(abs(R2).^2);
    S3=sum(abs(R3).^2);
    S4=sum(abs(R4).^2);
    S5=sum(abs(R5).^2);
    avec R=y1-x (avec x=w ou a ou e1 ou e2 ou e3 ou e4)
    j'ai obtenu des valeur de S inf à 1 .
    a votre avis c'est ca l'erreur entre chaque courbe et mes val exp.
    NB: ici j'ai pas une fonction f(x,y), j'ai que des matrices .

  7. #7
    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
    Oui, c'est un moyen de calculer l'erreur entre tes courbes et les valeurs expérimentales.
    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.

  8. #8
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 9
    Points : 4
    Points
    4
    Par défaut
    merci pour votre avis ,
    maintenant j'essaie de faire un model avec une fonction et non pas des matrices ,et toujours le même principe de choisir parmi les courbes théoriques celle qui a un erreur minimal, mais ça donne qu'un seul valeurs au lieu d'avoir l'erreur pour chaque courbe théorique
    code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    clear all
    close all
    clc
    x=1:100;
     
    w=[5 10 21 28 37 43 55 68 78 82 94 90 100 ];%valeurs exp
    a= [550 2000 8000 1.2e4 2.2e4 2.6e4 5.2e4 6.8e4 8.7e4 8.8e4 14e4 11.9e4 15e4];%valeurs exp
    figure(2),hold on;
     
    for i=10:1:20;
       f=i*x.^2+5;
    hold on
        plot(x,f)%,w,a,'*r')
      y=plot(w,a,'*r');  
    end
     
    S=sum(abs(y-f).^2)

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/06/2013, 18h04
  2. Equation du cercle par la méthode des moindres carrés
    Par olivier21c dans le forum MATLAB
    Réponses: 1
    Dernier message: 29/03/2009, 20h10
  3. [JSci.maths] Méthode des moindres carrés
    Par rienque2008 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/12/2008, 11h56
  4. Réponses: 2
    Dernier message: 24/05/2008, 21h27
  5. méthode des moindres carrés
    Par sinna dans le forum Mathématiques
    Réponses: 4
    Dernier message: 05/04/2008, 21h41

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