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 :

courbe de tendance


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut courbe de tendance
    Bonjour,
    j'ouvre ce post car j'ai un problème dans un calcul pour l'obtention des coef d'une droite de régression linéaire.

    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
    rpm=num(:,248);
    v=num(:,249);
    rap=num(:,250);
    v(isnan(v)) = [];
    n=length(v); % longueur des vecteurs
    % Recomposition du niveau de puissance => échantillonnage grossier
    for i=1:n
        Lpneu(i)=Apneu+Bpneu*log10(v(i)/Vref)+25.6; % composante pneu
    end
    
    Lpneu(isnan(Lpneu)) = [];
    ar=[1 1000]; % initialisation 
    
    options=optimset('display','off','tolfun',.1); % options de la fct fminsearch (pas d'affichage, tolérance sur la fonction)
    A=fminsearch(@fct_minimisation,[ar],options,rpm,RPMref,Lpneu)
    J'ai créé pour cela une fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function b=fct_minimisation(A,rpm,RPMref,Lpneu)
    L_roulement=A(2)+A(1)*log10(rpm/RPMref);
    b=sum(sum((Lpneu-L_roulement).^2));
    Ce que je souhaite, c'est à partir des bruit de roulement Lpneu calculés, retrouver la droite de régression en fonction du régime moteur.

    Deux problèmes ?

    - comment fixer le paramètre ar

    - l'erreur que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    ??? Error using ==> minus
    Matrix dimensions must agree.
     
    Error in ==> fct_minimisation at 5
    b=sum(sum((Lpneu-L_roulement).^2));
     
    Error in ==> fminsearch at 195
    fv(:,1) = funfcn(x,varargin{:});
     
    Error in ==> lecture1 at 1342
    A=fminsearch(@fct_minimisation,[ar],options,rpm,RPMref,Lpneu)
    Merci d'avance, si vous avez des conseils pour résoudre ce problème.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    Les vecteur Lpneu et L_roulement n'ont pas le même nombre d’éléments.

    A priori, si tu supprimes les valeurs NaN de Lpneu, il faut aussi supprimer les valeurs correspondantes dans rpm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    idx = isnan(Lpneu);
    Lpneu(idx) = [];
    rpm(idx) = [];
    Non ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    J'avais effectivement trouver cette erreur mais matlab me communique tjs la même erreur

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    J'ai trouvé mon problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function b=fct_minimisation(A,rpm,RPMref,Lpneu,i)
    L_roulement(i)=A(2)+A(1)*log10(rpm(i)/RPMref);
    b=sum(sum((Lpneu-L_roulement).^2));

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2013
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 69
    Points : 19
    Points
    19
    Par défaut
    Je re-ouvre ce post. En effet j'essaie de simplifier mon problème.
    Ma question est la suivante :

    peut-on calculer une courbe de tendance sans passer par une toolbox ?
    Et si oui ? comment ?

    Voyez vous une différence entre une régression linéaire et une courbe de tendance ?

    Je précise que je souhaite avoir une courbe de tendance pour des nuages de points avec un abscisse en log

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 313
    Points : 52 939
    Points
    52 939
    Par défaut
    Citation Envoyé par vampirerose Voir le message
    peut-on calculer une courbe de tendance sans passer par une toolbox ?
    => Ajustement aux moindres carrés de courbes et de surfaces

    Citation Envoyé par vampirerose Voir le message
    Voyez vous une différence entre une régression linéaire et une courbe de tendance ?
    Une "courbe de tendance" n'est pas forcément linéaire

Discussions similaires

  1. Récupérer Equation courbe de tendance
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/07/2007, 08h40
  2. Courbe de tendance exponentiel
    Par Marksman dans le forum C++
    Réponses: 10
    Dernier message: 02/07/2007, 10h57
  3. [VBA-E] Graphiques - Courbes de Tendance
    Par durdesfois dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/06/2007, 10h50
  4. Courbe de tendance sur un Tchart
    Par drxel dans le forum Delphi
    Réponses: 8
    Dernier message: 12/03/2007, 16h03
  5. [VBA-E] recuperation de l'equation d'une courbe de tendance
    Par miotte83 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2005, 01h25

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