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 :

la pente par régression linéaire sur N points


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    université pasteur
    Inscrit en
    Février 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : université pasteur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut la pente par régression linéaire sur N points
    Bonsoir,
    j'ai vraiment besoin de votre aide, J'ai un signal (spectre de raies) et je veux estimer la pente par régression linéaire sur N points pour obtenir un vecteur des pentes de mon signal
    J'ai trouvé la fonction polyfit qui peut calculer la pente mais le problème est qu'il faut utiliser les abscisses et ordonnées de mon signal, je sais pas comment les tirer de mon signal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    x=[1 2 3 4];
    y=[2 4 6 8];
    p = polyfit(x,y,1);
    pente=p(1)
    j'attends votre aide et merci

  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,

    Une régression linéaire ne te donnera pas un vecteur de pentes mais une pente moyenne. Pour obtenir les coordonnées de tes points, normalement il n'y a rien a tirer, tu les as directement. Du coup je n'ai pas compris ta question. Pourrais-tu nous montrer a quoi ressemble ton signal?
    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
    Futur Membre du Club
    Homme Profil pro
    université pasteur
    Inscrit en
    Février 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : université pasteur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par magelan Voir le message
    Bonjour,

    Une régression linéaire ne te donnera pas un vecteur de pentes mais une pente moyenne. Pour obtenir les coordonnées de tes points, normalement il n'y a rien a tirer, tu les as directement. Du coup je n'ai pas compris ta question. Pourrais-tu nous montrer a quoi ressemble ton signal?
    Bonjour Magelan merci pour votre réponse,
    voici mes deux signaux que je veux utiliser c'est des spectres de raies :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sigma = 1;
    mu = 3;
     
    Gauss = exp( -(X - mu) .*(X - mu) / (2*sigma^2) ) / (sqrt(2*pi) * sigma);
    Gauss1 = exp( -(X - 6) .*(X - 6) / (2*sigma^2) ) / (sqrt(2*pi) * sigma);
    subplot(2, 2, 1)
    plot( X , 1-Gauss,'r')
    grid on
     
    subplot(2, 2, 2)
    plot( X , 1-Gauss1,'b');
    grid on
    Mon but c'est de calculer la distance euclidienne entre deux signaux en spectre de raies un sera décaler par rapport l'autre la distance sera entre les pentes sur N points de chaque signal.

  4. #4
    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
    Tu veux calculer les pentes pour chaque point de ta courbe ou bien la pente globale?

    Citation Envoyé par magelan Voir le message
    Pourrais-tu nous montrer a quoi ressemble ton signal?
    Peux-tu nous montrer une image des courbes que tu obtiens? Avec le code que tu donnes, il manque la variable X pour que l'on puisse exécuter le code.
    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.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    université pasteur
    Inscrit en
    Février 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : université pasteur
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2014
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par magelan Voir le message
    Tu veux calculer les pentes pour chaque point de ta courbe ou bien la pente globale?


    Peux-tu nous montrer une image des courbes que tu obtiens? Avec le code que tu donnes, il manque la variable X pour que l'on puisse exécuter le code.
    Bonsoir,
    voici X : X = [ 0:0.1:10];
    et voici les deux signaux que je veux calculer la distance euclidienne entre eux :
    Nom : imagespectrederaies.png
Affichages : 1516
Taille : 16,3 Ko

    mon but c'est de calculer la pente sur N points de chaque signal, N le nombre de point je doit le fixer après, donc j'aurai deux vecteurs une composé des pentes du premier signal et l'autre des pentes du deuxième signal après je vais calculer la distance euclidienne entre ces deux pentes.

    ET MERCI

  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
    Donc la régression linéaire n'a rien à voir avec ton problème.

    Pour estimer la pente en un point, tu peux calculer la dérivée numérique (la dérivée correspond à la pente de la tangente à la courbe, donc à la pente locale de ta courbe).
    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. [Toutes versions] Régression linéaire forcée passant par un point (non origine
    Par Spartac69 dans le forum Excel
    Réponses: 1
    Dernier message: 15/07/2013, 17h23
  2. Réponses: 6
    Dernier message: 11/04/2013, 11h38
  3. Réponses: 1
    Dernier message: 28/12/2012, 16h09
  4. calcul de pente de régression linéaire
    Par I.Z.M.M dans le forum SSAS
    Réponses: 0
    Dernier message: 23/03/2010, 13h23
  5. Interpolation "linéaire" sur un point dans triangle (3D)
    Par Vol dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 09/07/2006, 22h34

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