begin process at 2012 02 13 16:13:38
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > RÉGRESSION NON-LINÉAIRE POLYNOMIALE PAR LA MÉTHODE DES MOINDRES CARRÉS

RÉGRESSION NON-LINÉAIRE POLYNOMIALE PAR LA MÉTHODE DES MOINDRES CARRÉS


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Maths Classé sous :régression, polynome, moindres, carrés Niveau :Débutant Date de création :27/09/2007 Vu / téléchargé :16 237 / 623

Auteur : caco64

Ecrire un message privé
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note

 Description

N'ayant pas trouvé de code simple traitant la régression non-linéaire par des polynômes, je me suis décidé à la programmer moi-même.

Ce code me paraît simple à reprendre.
Il suffit d'indiquer les valeurs x et y sur lesquelles porte la régression dans un fichier nommé "valeurs_init.txt". Ce fichier doit être placé dans le même répertoire que le fichier .bas

Ensuite, il fait lancer la procédure main.
Par défaut le polynôme de tendance est de degré 6, il est possible d'en changer en indiquant le degré voulu lors de l'appel de la procédure régression.

Le code génère alors les valeurs x et y = a0 + a1*x + ... + a6*x^6


Source

  • Option Explicit
  • Public x() As Double 'Données d'entrée (xi et yi)
  • Public y() As Double
  • Public ai_p() As Double 'Valeurs des coefficients du polynôme de tendance
  • Sub main()
  • Dim i As Integer, j As Integer
  • Dim ligne As String
  • Dim virg_deb As Long
  • Dim virg_fin As Long
  • Dim a As String
  • i = 0
  • 'Boucle de récupération des données xi et yi à traiter
  • Open "valeurs_init.txt" For Input As #1
  • While Not EOF(1)
  • i = i + 1
  • ReDim Preserve x(1 To i)
  • ReDim Preserve y(1 To i)
  • Line Input #1, ligne
  • 'Remplacement des blancs par des séparateurs (chr(47) = "/")
  • ligne = Replace(ligne, Chr(9), Chr(47))
  • ligne = Replace(ligne, Chr(32), Chr(47))
  • ligne = Chr(47) & ligne & Chr(47)
  • 'Récupération des données x(i) et y(i)
  • 'Recherche des séparateurs (/) et stockage des valeurs indiquées entre les séparateurs
  • virg_deb = InStr(1, ligne, Chr(47))
  • virg_fin = InStr((virg_deb + 1), ligne, Chr(47))
  • x(i) = CDbl(Mid(ligne, (virg_deb + 1), (virg_fin - virg_deb - 1)))
  • virg_deb = InStr((virg_fin), ligne, Chr(47))
  • virg_fin = InStr((virg_deb + 1), ligne, Chr(47))
  • y(i) = CDbl(Mid(ligne, (virg_deb + 1), (virg_fin - virg_deb - 1)))
  • Wend
  • Close #1
  • 'Appel de la procédure de régression polynômiale :
  • 'le premier argument est le degré du polynôme de tendance chosi, x() et y() sont les données à traiter
  • 'ai_p() est un argument de retour renvoyant les coef ai du polynôme
  • Call regression_polynomiale(6, x(), y(), ai_p())
  • Dim xf() As Double
  • Dim yf() As Double
  • ReDim xf(1 To UBound(x))
  • ReDim yf(1 To UBound(y))
  • 'Boucle générant un fichier texte contenant les valeurs xf(i) et yf(i) approchées
  • Open "valeurs_fin.txt" For Output As #1
  • For i = 1 To UBound(x)
  • xf(i) = x(i)
  • yf(i) = ai_p(0)
  • For j = 1 To (UBound(ai_p()))
  • yf(i) = yf(i) + ai_p(j) * xf(i) ^ j
  • Next j
  • Print #1, xf(i) & Chr(9) & Format(yf(i), "####0.000")
  • Next i
  • End Sub
  • Sub regression_polynomiale(deg_pol As Integer, xi() As Double, yi() As Double, coef_pol() As Double)
  • Dim i As Integer, j As Integer
  • Dim k As Integer, l As Integer
  • Dim nb_pts As Integer
  • Dim mat_A() As Double, mat_B() As Double
  • Dim mat_At() As Double, mat_Bt() As Double
  • Dim dim_mat As Integer
  • dim_mat = deg_pol + 1
  • 'Nombre de points
  • nb_pts = UBound(xi)
  • If nb_pts <> UBound(yi) Then MsgBox "Problème, il n'y a pas le même nombre de valeurs pour les x et les y"
  • ReDim mat_A(1 To dim_mat, 1 To dim_mat)
  • ReDim mat_B(1 To dim_mat)
  • ReDim mat_At(1 To dim_mat, 1 To dim_mat)
  • ReDim mat_Bt(1 To dim_mat)
  • ReDim coef_pol(0 To deg_pol)
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • '' Etape 1 :
  • '' Mise en équation du problème de minimisation par la méthode des moindres carrés
  • '' on cherche à minimiser : E(a0,..., ap) = somme(yi-somme(aj*xi^j)²) où p est le degré du pôlynome
  • '' les dérivées partielles de E par rapport à chacun des coef du polynôme de tendance doivent être nulles,
  • '' c'est une condition nécessaire !
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • ' les xi et yi sont transmis en paramètres
  • ' la procédure renvoie alors en sortie 2 matrices mat_A et mat_B tq :
  • ' mat_A * vect_des_aj = mat_B
  • Call mise_en_éq(nb_pts, deg_pol, xi(), yi(), mat_A(), mat_B())
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • '' Etape 2 :
  • '' On réalise alors la triangulation de la mat_A et les opérations équivalentes sur mat_B
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • ' mat_A et mat_B sont données en arguments d'entrée
  • ' mat_At et mat_Bt sont renvoyées en arguments de sortie, après triangulation de mat_A
  • Call triangulation(dim_mat, mat_A(), mat_B(), mat_At(), mat_Bt())
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • '' Etape 3 :
  • '' Cette procédure résout alors le système et renvoie les coefficients aj du pôlynome de tendance
  • ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • 'les matrices mat_At et mat_Bt sont données en arguments d'entrée
  • 'les coef aj sont renvoyées en arguments de sortie sous le nom de variable coef_pol
  • Call resolution(dim_mat, mat_At(), mat_Bt(), coef_pol())
  • End Sub
  • Sub mise_en_éq(n As Integer, p As Integer, vect1() As Double, vect2() As Double, mat1() As Double, mat2() As Double)
  • Dim i As Integer, j As Integer, k As Integer
  • For k = 0 To p ' on balaie les lignes
  • For j = 0 To p ' on balaie les colonnes
  • mat1(k + 1, j + 1) = 0
  • For i = 1 To n ' on somme tous les xi^(k+j)
  • mat1(k + 1, j + 1) = mat1(k + 1, j + 1) + vect1(i) ^ (k + j)
  • Next i
  • Next j
  • Next k
  • For k = 0 To p ' on balaie les lignes
  • mat2(k + 1) = 0
  • For i = 1 To n ' on somme tous les (yi*xi^(k))
  • mat2(k + 1) = mat2(k + 1) + (vect2(i) * vect1(i) ^ (k))
  • Next i
  • Next k
  • End Sub
  • Sub triangulation(n As Integer, mat1() As Double, mat2() As Double, mat3() As Double, mat4() As Double)
  • Dim i As Integer, j As Integer, k As Integer
  • Dim mat3k() As Double, mat4k() As Double
  • ReDim mat3k(1 To n, 1 To n, 1 To n) As Double
  • ReDim mat4k(1 To n, 1 To n) As Double
  • For i = 1 To n
  • mat4k(i, 1) = mat2(i)
  • For j = 1 To n
  • mat3k(i, j, 1) = mat1(i, j)
  • Next j
  • Next i
  • For k = 1 To (n - 1)
  • For i = 1 To n
  • For j = 1 To n
  • If i <= k Then
  • mat3k(i, j, (k + 1)) = mat3k(i, j, k) ' on conserve les mêmes valeurs
  • mat4k(i, (k + 1)) = mat4k(i, k)
  • Else
  • mat4k(i, (k + 1)) = mat4k(i, k) - (mat3k(i, k, k) * mat4k(k, k) / mat3k(k, k, k))
  • If j <= k Then
  • mat3k(i, j, (k + 1)) = 0
  • Else
  • mat3k(i, j, (k + 1)) = mat3k(i, j, k) - (mat3k(i, k, k) * mat3k(k, j, k) / mat3k(k, k, k))
  • End If
  • End If
  • Next j
  • Next i
  • Next k
  • For i = 1 To n
  • mat4(i) = mat4k(i, n)
  • For j = 1 To n
  • mat3(i, j) = mat3k(i, j, n)
  • Next j
  • Next i
  • End Sub
  • Sub resolution(n As Integer, mat3() As Double, mat4() As Double, coef_pol() As Double)
  • Dim i As Integer, j As Integer, k As Integer
  • Dim xsol() As Double
  • Dim som_aijxj As Double
  • ReDim xsol(1 To n)
  • xsol(n) = mat4(n) / mat3(n, n)
  • coef_pol(n - 1) = xsol(n)
  • For i = (n - 1) To 1 Step (-1)
  • som_aijxj = 0
  • For j = i + 1 To n
  • som_aijxj = som_aijxj + mat3(i, j) * xsol(j)
  • Next j
  • xsol(i) = 1 / mat3(i, i) * (mat4(i) - som_aijxj)
  • coef_pol(i - 1) = xsol(i)
  • Next i
  • End Sub
Option Explicit

Public x() As Double                'Données d'entrée (xi et yi)
Public y() As Double
Public ai_p() As Double             'Valeurs des coefficients du polynôme de tendance


Sub main()
Dim i As Integer, j As Integer
Dim ligne As String
Dim virg_deb As Long
Dim virg_fin As Long

Dim a As String
    
    i = 0
    'Boucle de récupération des données xi et yi à traiter
    Open "valeurs_init.txt" For Input As #1
    While Not EOF(1)
        i = i + 1
        ReDim Preserve x(1 To i)
        ReDim Preserve y(1 To i)
        
        Line Input #1, ligne
        
        'Remplacement des blancs par des séparateurs (chr(47) = "/")
        ligne = Replace(ligne, Chr(9), Chr(47))
        ligne = Replace(ligne, Chr(32), Chr(47))
        ligne = Chr(47) & ligne & Chr(47)
        
        'Récupération des données x(i) et y(i)
        'Recherche des séparateurs (/) et stockage des valeurs indiquées entre les séparateurs
        virg_deb = InStr(1, ligne, Chr(47))
        virg_fin = InStr((virg_deb + 1), ligne, Chr(47))
        x(i) = CDbl(Mid(ligne, (virg_deb + 1), (virg_fin - virg_deb - 1)))
        
        virg_deb = InStr((virg_fin), ligne, Chr(47))
        virg_fin = InStr((virg_deb + 1), ligne, Chr(47))
        y(i) = CDbl(Mid(ligne, (virg_deb + 1), (virg_fin - virg_deb - 1)))
    Wend
    
    Close #1
    
    'Appel de la procédure de régression polynômiale :
    'le premier argument est le degré du polynôme de tendance chosi, x() et y() sont les données à traiter
    'ai_p() est un argument de retour renvoyant les coef ai du polynôme
    Call regression_polynomiale(6, x(), y(), ai_p())
    
    
    Dim xf() As Double
    Dim yf() As Double
    ReDim xf(1 To UBound(x))
    ReDim yf(1 To UBound(y))
    
    'Boucle générant un fichier texte contenant les valeurs xf(i) et yf(i) approchées
    Open "valeurs_fin.txt" For Output As #1
    For i = 1 To UBound(x)
        xf(i) = x(i)
        yf(i) = ai_p(0)
        For j = 1 To (UBound(ai_p()))
            yf(i) = yf(i) + ai_p(j) * xf(i) ^ j
        Next j
        
        Print #1, xf(i) & Chr(9) & Format(yf(i), "####0.000")
    Next i
    
End Sub


Sub regression_polynomiale(deg_pol As Integer, xi() As Double, yi() As Double, coef_pol() As Double)
Dim i As Integer, j As Integer
Dim k As Integer, l As Integer
Dim nb_pts As Integer
Dim mat_A() As Double, mat_B() As Double
Dim mat_At() As Double, mat_Bt() As Double
Dim dim_mat As Integer

dim_mat = deg_pol + 1

'Nombre de points
nb_pts = UBound(xi)
If nb_pts <> UBound(yi) Then MsgBox "Problème, il n'y a pas le même nombre de valeurs pour les x et les y"


ReDim mat_A(1 To dim_mat, 1 To dim_mat)
ReDim mat_B(1 To dim_mat)
ReDim mat_At(1 To dim_mat, 1 To dim_mat)
ReDim mat_Bt(1 To dim_mat)
ReDim coef_pol(0 To deg_pol)


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''           Etape 1 :
'' Mise en équation du problème de minimisation par la méthode des moindres carrés
'' on cherche à minimiser : E(a0,..., ap) = somme(yi-somme(aj*xi^j)²) où p est le degré du pôlynome
'' les dérivées partielles de E par rapport à chacun des coef du polynôme de tendance doivent être nulles,
'' c'est une condition nécessaire !
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' les xi et yi sont transmis en paramètres
' la procédure renvoie alors en sortie 2 matrices mat_A et mat_B tq :
' mat_A * vect_des_aj = mat_B
Call mise_en_éq(nb_pts, deg_pol, xi(), yi(), mat_A(), mat_B())

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''           Etape 2 :
'' On réalise alors la triangulation de la mat_A et les opérations équivalentes sur mat_B
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' mat_A et mat_B sont données en arguments d'entrée
' mat_At et mat_Bt sont renvoyées en arguments de sortie, après triangulation de mat_A
Call triangulation(dim_mat, mat_A(), mat_B(), mat_At(), mat_Bt())

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''           Etape 3 :
'' Cette procédure résout alors le système et renvoie les coefficients aj du pôlynome de tendance
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'les matrices mat_At et mat_Bt sont données en arguments d'entrée
'les coef aj sont renvoyées en arguments de sortie sous le nom de variable coef_pol
Call resolution(dim_mat, mat_At(), mat_Bt(), coef_pol())


End Sub


Sub mise_en_éq(n As Integer, p As Integer, vect1() As Double, vect2() As Double, mat1() As Double, mat2() As Double)

Dim i As Integer, j As Integer, k As Integer

For k = 0 To p          ' on balaie les lignes
    For j = 0 To p      ' on balaie les colonnes
        mat1(k + 1, j + 1) = 0
        For i = 1 To n  ' on somme tous les xi^(k+j)
            mat1(k + 1, j + 1) = mat1(k + 1, j + 1) + vect1(i) ^ (k + j)
        Next i
    Next j
Next k


For k = 0 To p          ' on balaie les lignes
        mat2(k + 1) = 0
    For i = 1 To n      ' on somme tous les (yi*xi^(k))
        mat2(k + 1) = mat2(k + 1) + (vect2(i) * vect1(i) ^ (k))
    Next i
Next k

End Sub

Sub triangulation(n As Integer, mat1() As Double, mat2() As Double, mat3() As Double, mat4() As Double)

Dim i As Integer, j As Integer, k As Integer
Dim mat3k() As Double, mat4k() As Double
ReDim mat3k(1 To n, 1 To n, 1 To n) As Double
ReDim mat4k(1 To n, 1 To n) As Double

For i = 1 To n
    mat4k(i, 1) = mat2(i)
    For j = 1 To n
        mat3k(i, j, 1) = mat1(i, j)
    Next j
Next i

For k = 1 To (n - 1)
    For i = 1 To n
        For j = 1 To n
            If i <= k Then
                mat3k(i, j, (k + 1)) = mat3k(i, j, k) ' on conserve les mêmes valeurs
                mat4k(i, (k + 1)) = mat4k(i, k)
            Else
                mat4k(i, (k + 1)) = mat4k(i, k) - (mat3k(i, k, k) * mat4k(k, k) / mat3k(k, k, k))
                If j <= k Then
                    mat3k(i, j, (k + 1)) = 0
                Else
                    mat3k(i, j, (k + 1)) = mat3k(i, j, k) - (mat3k(i, k, k) * mat3k(k, j, k) / mat3k(k, k, k))
                End If
            End If
        Next j
    Next i
Next k

For i = 1 To n
    mat4(i) = mat4k(i, n)
    For j = 1 To n
        mat3(i, j) = mat3k(i, j, n)
    Next j
Next i
End Sub


Sub resolution(n As Integer, mat3() As Double, mat4() As Double, coef_pol() As Double)

Dim i As Integer, j As Integer, k As Integer
Dim xsol() As Double
Dim som_aijxj As Double
ReDim xsol(1 To n)

xsol(n) = mat4(n) / mat3(n, n)
coef_pol(n - 1) = xsol(n)

For i = (n - 1) To 1 Step (-1)
    som_aijxj = 0
    For j = i + 1 To n
        som_aijxj = som_aijxj + mat3(i, j) * xsol(j)
    Next j
    xsol(i) = 1 / mat3(i, i) * (mat4(i) - som_aijxj)
    coef_pol(i - 1) = xsol(i)
Next i

End Sub






 Conclusion

J'espère que ce code s'avèrera utile à certains. N'hésitez pas à me faire part de vos remarques.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip INVERSION DE MATRICE - RÉSOLUTION DE SYSTÈMES D'ÉQUATIONS LI...

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture RÉGRESSION DE SPLINE EN UTILISANT UN ALGORITHME GÉNÉTIQUE CO... par shinkei
DIVISION EUCLIDIENNE DE POLYNOMES par ecarbill
Source avec Zip Source .NET (Dotnet) RACINE(S) D'UN POLYNOME DU SECOND DEGR&EACUTE; par tiboooo
Source avec Zip RÉGRESSION LINÉAIRE PAR LA MÉTHODE DES MOINDRES CARRÉS par lemagicien
Source avec Zip PETIT PROG DE DESSIN par flagyg

Commentaires et avis

Commentaire de nah666 le 27/09/2007 16:53:15

Lol, j'adore la fonction de triangulation :D

Commentaire de caco64 le 02/10/2007 00:45:23

Bon, je vois que je me fais chambrer sur la triangulation !
C'est de bonne guerre, surtout que j'ai trouvé des cas où elle ne marche pas alors que le déterminant est non nul...
Du coup, je me suis lancé dans l'inversion de matrice.
Pas si simple, mais c'est rigoureux.
J'essaie de mettre ça en ligne rapido, au cas où ça intéresserait des gens.

Commentaire de nah666 le 02/10/2007 11:54:37

Salut, evidement c'est normal que l'algo soit compliqué.

Cependant, mieux nommer les variables ( i,j,k pour les boucles imbriquées c'est pas terrible ) permettrait d'y voir plus clair.

En tous cas bon courage !

Commentaire de caco64 le 03/10/2007 15:14:40

J'ai pris la mauvaise habitude de toujours faire mes boucles avec les mêmes variables i, j et k. Moi, je m'y retrouve mais c'est pas très parlant, faudra que je me décide à le changer un de ces 4.

Par contre, pour ceux qui souhaitent une méthode de résolution du système plus rigoureuse, j'ai mis sur le site, l'algo de résolution matricielle :

http://www.vbfrance.com/codes/INVERSION-MATRICE-RESOLUTION-SYSTEMES-EQUATIONS-LINEAIRES_44258.aspx

Ca permet de gérer le cas où le déterminant est nul.

Commentaire de drane le 05/01/2008 11:50:42 10/10

Excellent programme.
La seule démonstration de calcul de courbe polynomiale trouvée sur le net.
Très bien commenté.
Merci infiniment.

Commentaire de pierg le 16/11/2008 12:11:45

superbe !
les résulats sont absolument identiques à ce que retourne excel
et j'ai complété le script pour faire de la prévision.
pour en savoir plus mailez-moi : piergonon@aol.com

Commentaire de dantore le 13/02/2009 16:38:22 9/10

Mais ca m'a l'air parfait ce petit programme ... Sauf que j'en ai besoin sur  VB express 2008  et c'est pas compatible, j'essai de le réutiliser sans trop de succés jusqu'à présent...
Quelqu'un aurait-il trouvé une solution pour transformer les fonctions VB 2006 en VB express 2008 ? ( VB le propose à l'ouverture du projet mais ca produit trop d'erreur...)

Pour ceux qui aurait un solution j'ai posté mon problème:
( http://www.vbfrance.com/forum/sujet-REGRESSION-POLYNOMIALE-MOINDRES-CARRES-VB-EXPRESS-2008_1269433.aspx )

Commentaire de Donpi le 06/01/2010 16:30:39

Super bout de code, même si certain truc font hurler ;)
J'ai fais un petit portage en c# pour ceux que ça interesse :)

Commentaire de maisonx2000 le 04/05/2010 20:36:18

Merci pour la source

Donpi, je suis preneur si tu l'as adapté en C#

merci

Commentaire de BarthOlivier le 26/11/2010 11:38:08

Code Très intéressant,

il y a moyen de calculer l'écart Type ? et la quadratique ?

Commentaire de chomp64 le 13/04/2011 17:00:27

Bonjour, je suis actuellement en train de lancer ce code sous VB 2010 sans résultats. Si quelqu'un voudrait bien m'aider à l'adapter pour cette dernière version je lui en serait grandement reconnaissant.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Moindres carrés [ par Biloute ] Dans le cadre de recherche je recherche ( sic!!) un prog quin approxime des points avec la méthode des moindres carrés ( approximation polynomiale d'o moindres carrés [ par tibogl ] bonjourj'ai deux equations a deux inconnues je souhaiterais utiliser les moindres carr&#233;s pour effectuer une regression et obtenir des valeurs pou moindres carrés avec modele de Cox Ingersoll et Ross [ par coulisn ] Bonjour à tous et à toutes,Je m'excuse de parler d'autres choses. En fait, je fais un stage et je dois implémenter un modèle de taux (il s'agit du mod méthode des moindres carrés [ par inge68 ] Bonjour,j'aimerai trouvé un lien entre plusieurs points mesurés (X1,X2,X3...Xn) et (Y1,Y2,Y3,...Yn).Mon but est de modeliser ce systeme de points et d Regression polynomiale par les moindres carrés VB express 2008 [ par dantore ] Bonjour, Je cherche une fonction qui puisse m'effectuer une regression polynomial par les moindres carré en VB 2008 ...J'en ai trouvé pour VB6 ( <a hr Conserver une variable comme inconnu? [ par abdannour ] Bonjour, Je travaille sur Excel/VBA. J'espère que ma question sera claire. Je me lance. Je fait plein de calculs matriciels (par l'intermédiaire de su Drag and drop graphique [ par andrebernard ] Bonjour à tousVoila, je voudrais faire une fenetre dans laquelle il y aurais par exemple des carrés de differentes couleurs à gauche que je fais gliss Logiciels open source pour Tests de non-régression, robustesse, etc. [ par Chabossio ] Bonjour à tous,   <p class="M Régression linéaire en VB [ par BigBob ] Bonjour,Comment peut on effectuer une régression linéaire (ajustement linéaire par la méthode des moindres carrés) dans VB afin d'obtenir les coeffici CRC32 [ par mandrac ] Est ce que le polynome du calcul du CRC32 est normalis&#233;? par exemple j'ai celui-ci : 0xEDB88320, est ce que tous les code source du CRC32 utilise


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales