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

VB.NET Discussion :

programmation : Newton-Rapson méthode


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Par défaut programmation : Newton-Rapson méthode
    Bonjour,

    J'ai un petit devoir à rendre pour les cours, je suis en chimie, et j'ai jamais fait de programmation de ma vie. On a eu 2 cours et on doit faire un programme.
    J'ai essayé d'avancer un peu.
    Mais je ne suis même pas sûr que ce que j'ai déjà fait est bon. Car je n'ai pas l'impression d'avoir utiliser les fonctions et procédures demandées ^^
    Il me reste la dernière partie sur Newton-Raphson avant de devoir afficher les résultats dans une listbox.

    La prof nous a donné un algorithme de résolution en français mais je ne sais pas même pas ce que je dois en faire. C'est la catastrophe quoi.

    Je joins le fichier en pièce jointe de ce que j'ai fait et les instructions de la prof pour comparer ^^

    Je vous remercie d'avance pour votre aide.
    Images attachées Images attachées     
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Première question : Tes cours de programmation étaient-ils vraiment en VB.net ?

    Deuxième question : Si tes cours étaient en VB.net, as-tu appris à cliquer sur l'îcône de VB ou de Visual Studio, puis à cliquer sur Nouveau Projet et choisir Application Windows Forms ?

    Troisième question : Si tu as appris à faire ce qui est mentionné plus haut, Est-ce qu'ils t'ont dit que les contrôles situés dans ta boîte à outils, incluant le Label, pouvaient être placés sur la Form pour être utilisés sur la Form pour faire l'interface de ton programme ?

    Ceci dit, personne ne fera ton devoir à ta place. On pourra t'aider en te fournissant les grandes lignes et en te conseillant des modifications au code que tu feras.

    O.K. je viens de télécharger ton fichier. C'est du VB.net

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Par défaut re : programmation : Newton-Rapson méthode
    J'ai mis le fichier associé avec le code que j'ai fait. ^^
    Je suis pas fainéant lol. Je demande pas à ce qu'on me fasse le devoir en postant juste l'énoncé mdr.
    Je comprends juste pas grand chose :p

  4. #4
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par etudiantchimie Voir le message
    J'ai mis le fichier associé avec le code que j'ai fait. ^^
    Je suis pas fainéant lol. Je demande pas à ce qu'on me fasse le devoir en postant juste l'énoncé mdr.
    Je comprends juste pas grand chose :p
    La règle générale sur ce site c'est pas de fichiers-joints sauf si on le demande.

    Presque personne n'ouvre les fichiers-joints.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Par défaut
    ah d'accord.
    Désolé je ne savais pas ^^.
    Je suis nouveau et complètement incompétent dans le domaine :p

    Y a quand meme moyen d'avoir un petit coup de main ?

  6. #6
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par etudiantchimie Voir le message
    ah d'accord.
    Désolé je ne savais pas ^^.
    Je suis nouveau et complètement incompétent dans le domaine :p

    Y a quand meme moyen d'avoir un petit coup de main ?
    J'ai fait une copie d'écran de la question avec la documentation. Je vais y jeter un œil ce soir.

    P.S. Au moment où j'écris ceci, il est 15 heures, chez moi.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Par défaut re : programmation : Newton-Rapson méthode
    D'accord, merci beaucoup.
    Pas de souci, je dois rendre le 1er novembre le fichier.

    J'ai essayé de refaire quelque chose depuis, et de modifier des choses, de simplifier également.

    Je le joins en copie
    parce que j'ai modifié aussi l'interface graphique ... Plein de choses ne fonctionnait pas.
    Par exemple lorsque je modifiais l'interface graphique et que je démarrais le programme il n'y avait pas les modifications apportées à l'interface sans explications.

    Je pense avoir avancer un peu.

    Par contre je ne sais pas vraiment comment mettre des paramètres.
    Je n'ai pas fais la listbox encore
    et je ne sais pas comment créer calculpol et calculderiv pour qu'elles calculent quelque soit la valeur de x et indiquer cette valeur ultérieurement pour pouvoir l'utiliser dans Newton et pour calculer fx0 et fderx0.

    Bon courage. merci en tout cas.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Bonjour

    Je n'ai pas bien compris ce que tu dois faire ?
    Trouver selon la methode Newton -Raphson les racines d'une équation polynomiale ?

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 5
    Par défaut re : programmation : Newton-Rapson méthode
    Je dois répondre à l'énoncé. Il y a plusieurs choses à faire.
    Dont l'une d'elle est de faire la méthode de Newton pour trouver les solutions, or on ne peut trouver qu'une solution à la fois, donc on dois changer xinitial (textbox16 dans le 2 eme fichier)

  10. #10
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je n'ai pas réussi, à te faire progresser beaucoup. Malgré tes images, je ne suis pas parvenu à comprendre comment le tout s'agençait. J'ai modifié les propriétés Text de tes contrôles. Je n'ai pas vu comment les calculs doivent commencer.

    C'est une situation où le fait de commenter le code est nécessaire; quoique peuvent en dire les nouveaux gourous de la programmation sans commentaires ajoutés.

    En complément:

    J'ai fouillé dans un livre que j'ai depuis bien longtemps et j'y ai trouvé un programme équivalent en Fortran et en Pascal.

    J'en déduis ceci en espérant ne pas trop me tromper.

    Ton textbox16 doit te permettre de mettre (apparemment à l'oeillomètre et au pifomètre) une estimation de la première racine.
    Cette estimation de la première racine est ensuite combinée, en utilisant l'algorithme de Newton-Raphson, avec le résultat (f(x) et f(x0) que tu as ramassé en cliquant le bouton précédent avec le x que tu as choisi.
    Si tu obtiens, une convergence (et la valeur estimée de la variable), tu dois l'afficher dans la ListBox.

    C'est là que je ne sais pas ce qui se passe après...

    De deux choses l'une:

    Soit que la première racine trouvée devient automatiquement la source de la seconde recherche qui démarre automatiquement et qui se termine automatiquement une fois toutes les racines trouvées
    ou
    Soit, que tu reprends manuellement ton processus avec de nouvelles valeurs.

    À moins que tu ne fournisses d'autres détails, j'ai bien peur que personne ne puisse faire beaucoup plus que cela pour t'aider. Sauf si un grand expert de l'analyse numérique en VB.net ne vient à passer sur ta question.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour
    bonjour clementmarcotte....Ce qui est casse-pied dans ce devoir en fait c'est beaucoup l'onterface graphique que le codage de l'algo Newton-Raphson par la methode de la derivee seconde ...

    Bref pour illustrer la logique du code de algo meme voici ce qui doit geree sur code exemple :
    -trouver la bonne vieille racine carre du college solution de l'equation X^2-2 =0
    Code .vb du simple form(bouton +3 textbox):
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    Imports System.Text
     
    Public Class frmTestRaphson
        Private epsilon As Double = Math.Pow(10, -7.0)
        Private precision As Double = Math.Pow(10, -14.0)
        Private iteration As Integer
        Private initialX As Double
     
        ' le string builder tres avantageux pour stocker les resultats intermediaires
        ' de chaine  avant  affichage final
        Private sb As New StringBuilder
        Private Sub frmTestRaphson_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            txtIteration.Text = 20
            txtInitialX.Text = 1.0
            'on parse saisie
            iteration = Integer.Parse(txtIteration.Text)
            initialX = Double.Parse(txtInitialX.Text)
     
        End Sub
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim x0 As Double = 1
            Dim x1 As Double = 0.0
            Dim y As Double
            Dim yprime As Double
            sb = New StringBuilder
            sb.AppendLine("iter---" + " " + "x------" + " " + "y------" + " " + "yprime-")
            For i As Integer = 1 To iteration
     
                y = F(x0)
                yprime = FPRIME(x0)
     
                If (Math.Abs(yprime) < epsilon) Then  'pas de petites valeurs (eviter overlow:gare au division)
                    MessageBox.Show("Attention  Denom trop petit")
                    Exit For '  Quitte boucle
                End If
     
                x1 = x0 - y / yprime         '  Iterer 
     
                If Math.Abs(x1 - x0) / Math.Abs(x1) < precision Then  ' Si resultat est dans precision toleree
                    sb.AppendLine(i.ToString("0000") + " " + x1.ToString("0000.00") + " " + y.ToString("0000.00") + " " + yprime.ToString("0000.00"))
     
                    Exit For            'Termine.  Quitte boucle
                End If
     
                x0 = x1     'Maj variable iteration et repeter  
     
                sb.AppendLine(x1.ToString(i.ToString("0000") + " " + "0000.00") + " " + y.ToString("0000.00") + " " + yprime.ToString("0000.00"))
            Next
            sb.AppendLine("---------------------")
            sb.AppendLine()
            sb.AppendLine("result :" + x0.ToString())
            txtResult.Text = sb.ToString
        End Sub
        'fonction fx  => 2*x^2 - 2
        Private Function F(ByVal X0 As Double) As Double
            Dim fx As Double = 0.0
            fx = Math.Pow(X0, 2.0) - 2.0
            Return fx
        End Function
        'fonction fx prime   => 4*x
        Private Function FPRIME(ByVal X0 As Double) As Double
            Dim fdx As Double = 0.0
            fdx = 4 * X0
            Return fdx
        End Function
     
     
    End Class
    Maintenant comme le travail demande est de realiser l'interface graphique pour :
    -collecter les n coefficients de l'equation An*X^n + An-1*X^n-1 +An-2*X^n-2 +.....A0*X^0
    et evaluer sous forme de chaine suivant le degre saisi par user l'expression "textuelle" precedente et l'afficher
    - evaluer numeriquement la fonction FX et sa derivee FDX et afficher le resultat ...
    - executer l'algo RN sur FX pour un X0 initial et N iteration specifiees (dans limite de precision desiree)
    Le gros du travail va se retrouver dans l'interface graphique : valider la saisie user à chaque etape...
    Le code de l'algo doit etre alors separe dans un class à part denomme RaphsonNewton.
    Sans quoi il va etre pourri par le code de l'interface graphique....

    Bref voici le code du class concernant l'algo :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
     
    Imports System.Text
     
    Public Class RaphsonNewton
        '----- prop shared sont des prop globales du class-----------
        Private Shared epsilon As Double
        Private Shared precision As Double = Math.Pow(10, -14.0)
        Private Shared iterationDefaut As Integer = 100
        Public Shared sb As New StringBuilder()
        Public Shared listCoeffs As List(Of Double)
        Private fx, fdx1 As Double
        '-----private =>  eviter mauvaise init. user
        Private Sub New()
        End Sub
        Public Shared Function Solve(ByVal xValue As Double, ByVal niterValue As Integer) As Double
     
            Dim iteration As Integer
            iteration = niterValue
            If iteration = 0.0 Then
                iteration = iterationDefaut
            End If
     
     
            Dim X0 As Double = xValue : Dim X1 As Double = 0.0
            Dim fx As Double = 0.0 : Dim fdx As Double = 0.0
            Dim result As Double = 0.0
            Dim numIter As Integer = 0
     
            sb = New StringBuilder()
            sb.AppendLine("iter---" + " " + "x------" + " " + " fx-----" + " " + " fdx----")
     
            For i As Integer = 0 To iteration
                numIter += 1
                fx = RaphsonNewton.UtilFX(X0)
                fdx = RaphsonNewton.UtilFDX(X0)
                If Math.Abs(fdx) < epsilon Then '  Ne peut diviser par de peites valeurs(eviter les overflow)
                    sb.AppendLine("Interruption.Denom derivee trop faible")
                    'Interruption. Quitte boucle
                    Exit For
                End If
                X1 = X0 - fx / fdx
     
     
                If Math.Abs(X1 - X0) / Math.Abs(X1) < precision Then  ' si resultat est dans la precision
                    sb.AppendLine(i.ToString("0000") + " " +
                                  X1.ToString("0000.00") + " " +
                                  fx.ToString("0000.00") + " " +
                                  fdx.ToString("0000.00"))
     
                    Exit For            'Termine .Quitte boucle
                End If
                X0 = X1
                sb.AppendLine(
                    numIter.ToString("0000") + "     " +
                    X1.ToString("00.0000") + "   " +
                    fx.ToString("00.0000") + "   " +
                    fdx.ToString("00.0000"))
     
            Next
     
            result = X1
            sb.AppendLine("---------------------")
            sb.AppendLine()
            sb.AppendLine("result :" + result.ToString())
            Return result
        End Function
        Public Shared Function UtilFX(ByVal X0 As Double) As Double
            Dim fx As Double = 0.0
            If listCoeffs.Count = 0 Then Return fx
            'Dim n As Integer = listCoeffs.Count - 1
            For n = 0 To listCoeffs.Count - 1
                fx += listCoeffs(n) * Math.Pow(X0, n)
            Next
            'fx += listCoeffs(n)
            Return fx
        End Function
        Public Shared Function UtilFDX(ByVal X0 As Double) As Double
            Dim fdx As Double = 0.0
            If listCoeffs.Count = 0 Then Return fdx
            'Dim n As Integer = listCoeffs.Count - 1
            For n = 0 To listCoeffs.Count - 1
                fdx += n * listCoeffs(n) * Math.Pow(X0, n - 1)
     
            Next
            Return fdx
        End Function
     
    End Class
    Le code du form gestionnaire :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
     
    Imports System.Text
     
    Public Class frmNewton
        '------degre fonction--------------------------------------
        Private degre As Integer
        Private precision As Double = Math.Pow(10, -14.0)
        Private maxIter As Integer = 20
        Private nr As RaphsonNewton
     
        Private initialX As Double
        Private coeffs As New List(Of Double)
        Private EstValide As Boolean
        '-------  stringbuilder ----------
        '-------- collecte tous les resultats string pour affichage 
        ' ------- sur le txBoxResultat ---------
        Private sbGlobal As StringBuilder = Nothing
        Public Sub New()
     
            ' Cet appel est requis par le concepteur.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            HideDegre()
            HideCoeffs()
     
        End Sub
     
        '------------affiche saisie du degre equation ---------------------
        Private Sub btnAfficherDegre_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAfficherDegre.Click
            VisibleDegre()
            ' ------------   desactive l'execution ------------------------
            btnExecute.Enabled = False
            btnExecute.BackColor = Color.Beige
        End Sub
        '------------affiche controles de saisie  coeffients -------------
        Private Sub txtDegre_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtDegre.TextChanged
            HideCoeffs()
            degre = 0
            If Integer.TryParse(txtDegre.Text, degre) Then 'verifie saisie user
                If degre < 2 Then
                    MessageBox.Show("degre doit etre >=2...")
                    Return
                End If
                If degre > GrpCoeffs.Controls.Count Then
                    MessageBox.Show("degre trop grand...")
                    Return
                End If
                VisibleCoeffs(degre)
            Else
                MessageBox.Show("entrer un nbre svp")
            End If
     
        End Sub
     
        Private Sub btnValider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnValider.Click
            coeffs.Clear()
            Dim temp As Double = 0.0
            Dim ctrl As Control = Nothing
            For i As Integer = 0 To GrpCoeffs.Controls.Count - 1
                temp = 0.0
                ctrl = GrpCoeffs.Controls(i)
                If Double.TryParse(ctrl.Text, temp) Then 'verifie saisie user
                    If ctrl.Visible Then coeffs.Add(temp)
                Else
                    MessageBox.Show("Saisir un nbr svp...!!! position : " + ctrl.Name.ToString())
                End If
     
            Next
     
            AfficherFonction()
            AfficherDerivee()
     
            EstValide = True
        End Sub
     
     
        Private Sub btnEvaluateFNDFN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEvaluateFNDFN.Click
            If Not EstValide Then Return
     
            initialX = 0.0
            If Not Double.TryParse(txtInitialX.Text, initialX) Then
                MessageBox.Show("Saisir valeur  initiale X0  svp...!!!")
                btnExecute.Enabled = False
            End If
            If Not Integer.TryParse(txtMaxIter.Text, maxIter) Then
                MessageBox.Show("Saisir  nbre d'iterations N svp...!!!")
                Return
            End If
     
            'Init les coefficients dans prop shared du class RaphsonNewton
            RaphsonNewton.listCoeffs = coeffs
     
            'Evalue FX et fdx et collecte resultats
            sbGlobal = New StringBuilder
            sbGlobal.AppendLine("FX Value  : " + RaphsonNewton.UtilFX(initialX).ToString)
            sbGlobal.AppendLine("FDX Value : " + RaphsonNewton.UtilFDX(initialX).ToString)
     
            'Update txtResultat
            txtResultat.Clear()
            txtResultat.Text = sbGlobal.ToString
     
            'Enable  btnExecute
            btnExecute.Enabled = True
            btnExecute.BackColor = Color.Red
        End Sub
        Private Sub btnExecute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExecute.Click
     
            Dim racine As Double = RaphsonNewton.Solve(initialX, maxIter)
     
            ' collecte resultats
            sbGlobal.AppendLine("Racine :" + racine.ToString)
            sbGlobal.AppendLine("************************************")
            sbGlobal.AppendLine(RaphsonNewton.sb.ToString)
     
            'Update txtResultat
            txtResultat.Clear()
            txtResultat.Text = sbGlobal.ToString
     
            'Disable  btnExecute
            btnExecute.Enabled = False
            btnExecute.BackColor = Color.Beige
        End Sub
     
     
        ' expression "textuelle" du polynome FX 
        Private Sub AfficherFonction()
            Dim ch As String
            ch = ""
            'Dim n As Integer = degre
            For n As Integer = degre To 1 Step -1
                ch = ch & coeffs(n).ToString() & "*x^" & (n).ToString() & "+"
            Next
     
            lblAfficheFNX.Text = ch & coeffs(0).ToString()
     
        End Sub
        ' expression "textuelle" du polynome derive FDX 
        Private Sub AfficherDerivee()
            Dim dh As String
            dh = ""
            'Dim m As Integer = degre
            For n As Integer = degre To 1 Step -1
                dh = dh & (n * coeffs(n)).ToString() & "*x^" & (n - 1).ToString() & "+"
            Next
            lblAfficheFNXDER.Text = dh.Substring(0, dh.Length - 1)
        End Sub
     
        '-----------------fonctions utilitaires ou helpers----------------- 
        Private Sub HideDegre()
            lblDegre.Visible = False
            txtDegre.Visible = False
        End Sub
        Private Sub HideCoeffs()
            For Each ctrl As Control In GrpCoeffs.Controls
                ctrl.Visible = False
            Next
        End Sub
        Private Sub VisibleDegre()
            lblDegre.Visible = True
            txtDegre.Visible = True
        End Sub
        Private Sub VisibleCoeffs(ByVal n As Integer)
            For i As Integer = 0 To n
                GrpCoeffs.Controls(i).Visible = True
            Next
        End Sub
     
    End Class
    L'interface graphique est identique à la tienne sauf qu'il faut s'habituer à nommer les controles au plus pres de leur fonction ansi que les variables du programme.....

    NB : ton listbox dont j'ignore l'utilite,a ete remplace par le TextBox denomme "txtResultat"....
    La precision est code en "dur" dans le code du class RahpsonNewton...A sa place je demande la saisie du nombre d'iteration dans le control "txtMaxIter"....
    De toute facon si le nbre d'iteration n'est fourni ,le class utilise une valeur par defaut de 100...
    Bon code...

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/05/2014, 15h51
  2. compléter le programme d'une méthode itérative
    Par jery190 dans le forum MATLAB
    Réponses: 1
    Dernier message: 03/02/2010, 08h27
  3. Réponses: 2
    Dernier message: 24/05/2008, 21h27
  4. Programmation de la méthode du gradient conjugué
    Par Boule de coco dans le forum MATLAB
    Réponses: 11
    Dernier message: 18/01/2008, 22h12
  5. [Débutante]Programmation de la méthode de Jacobi
    Par asie86 dans le forum Langage
    Réponses: 4
    Dernier message: 05/12/2006, 17h21

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