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

Macros et VBA Excel Discussion :

Récupération coefficients d'un polynôme


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut Récupération coefficients d'un polynôme
    Bonjour,

    J'ai un petit soucis de programmation. Voila j'effectue un fit polynomial d'une courbe et j'essaie désespéremment de récupérer ses coefficients ainsi que le R².
    Malheureusement quand je regarde ma feuille où je lui demande d'écrire ces coefficients, il marque :
    x0= 3,6400E-02;-8,89 x3= 3,6400E-02;-8,89 x6= 0,000E+00

    x1= 3,6400E-02;-8,89 x4= 3,6400E-02;-8,89 R2 = "01R²9,9982E-01"


    x2= 3,6400E-02;-8,89 x5= 0,000E+00

    Je ne comprend pas pourquoi. Merci de votre aide

    Voici une partie du 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
       For i = 0 To 6
            tableau(i, 0) = "0.0E+00"
        Next i
     
        ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Select
        Selection.NumberFormat = "0.0E+00"
        Data = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text
        Data = Replace(Data, "y", "")
        Data = Replace(Data, " ", "")
        Data= Replace(Data, "=", "")
        For i = Degré To 2 Step -1
             Data = Replace(Data, "x" & i & "", ";")
          Next i
        Data = Replace(Data, "x", ";")
        Data = Replace(Data, "R2", ";")
     
        p = Mid(Data, 16, 1)
     
        If p = ";" Then
            T = 15
        Else
            T = 16
        End If
     
        tableau(Degré, 0) = Left(Data, T)
        Data = Replace(Data, tableau(Degré, 0) & ";", "")
     
        j = 1
        For j = 1 To Degré Step 1
            tableau(Degré - j, 0) = Left(Data, 16)
            Data = Replace(Data, tableau(Degré - j, 0) & ";", "")
        Next j
     
        R2 = Right(Data, 15)
     
        ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Select
        Selection.NumberFormat = "0.0+00"
        Sheets("Coefficients").Select
     
        Cells.Find(What:="x0 = ", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
        ActiveCell.Offset(0, 1).Range("A1").Value = tableau(0, 0)
        ActiveCell.Offset(2, 1).Range("A1").Value = tableau(1, 0)
        ActiveCell.Offset(4, 1).Range("A1").Value = tableau(2, 0)
        ActiveCell.Offset(0, 3).Range("A1").Value = tableau(3, 0)
        ActiveCell.Offset(2, 3).Range("A1").Value = tableau(4, 0)
        ActiveCell.Offset(4, 3).Range("A1").Value = tableau(5, 0)
        ActiveCell.Offset(0, 5).Range("A1").Value = tableau(6, 0)
        ActiveCell.Offset(2, 5).Range("A1").Value = R2

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Regarde cette discussion :

    http://www.developpez.net/forums/d13...nome-tendance/

    Cordialement.

    Daniel

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut
    J'essaie de comprendre où est le problème avec mon tableau...

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Est-ce que tu peux poster un classeur exemple ? De mon côté, voici le mien :

    kikouroudou.zip

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2014
    Messages : 4
    Par défaut
    voici un exemple de courbe avec un fit.
    Fichiers attachés Fichiers attachés

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    La macro adaptée à ton cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Coefs()
        MsgBox "r2 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4)), , True), 3, 1)
        MsgBox "x1 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4))), 1)
        MsgBox "x2 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4))), 2)
        MsgBox "x3 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4))), 3)
        MsgBox "x4 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4))), 4)
        MsgBox "x5 = " & Application.Index(Application.LinEst(Range("C8:C17"), _
            Application.Power(Range("B8:B17"), Array(1, 2, 3, 4))), 5)
    End Sub

Discussions similaires

  1. Fonction qui renvoit les coefficients d'un polynôme
    Par lisenette dans le forum MATLAB
    Réponses: 7
    Dernier message: 31/03/2014, 13h35
  2. Réponses: 3
    Dernier message: 10/05/2013, 16h23
  3. Polynômes à coefficients réels
    Par casserole dans le forum Maple
    Réponses: 0
    Dernier message: 18/11/2011, 12h28
  4. [XL-2007] récupération du coefficient directeur
    Par toto74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/04/2010, 16h09
  5. Réponses: 2
    Dernier message: 05/01/2010, 15h35

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