Matrice des corrélations
pheron
-
Wheelman -
Wheelman -
Salut,
je dois calculer une matrice des corrélations. j'ai écrit un code mais ça ne marche pas, enfin celui de la matrice des corrélations. en fait je crée un tableau et à partir de celui ci déterminer la matrice des covariances et des corrélations. si je pouvais avoir un p'tit coup de main svp.
Function matrice_covariance(T, n, p) As Long
Dim COV() As Long
Dim MC() As Long
Dim k As Integer
Dim l, i As Integer
Dim s As Long
ReDim COV(1 To p, 1 To p) As Long
ReDim MC(1 To p) As Long
For k = 1 To p
For l = 1 To p
s = 0
For i = 1 To n
s = s + T(i, k) * T(i, l)
Next i
COV(k, l) = s \ n - MC(k) * MC(l)
matrice_covariance = COV(k, l)
Next l
Next k
End Function
______________
Sub matrice_correlation(T, n, p As Integer)
Dim COR() As Long
Dim j, i As Integer
Dim COV() As Long
Dim ET_L() As Long
Dim ET_C() As Long
Dim k, l As Integer
ReDim COR(1 To p, 1 To p) As Long
ReDim COV(1 To p, 1 To p) As Long
ReDim ET_L(1 To n) As Long
ReDim ET_C(1 To p) As Long
For i = 1 To p
For j = 1 To p
COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j)
Next j
Next i
End Sub
je dois calculer une matrice des corrélations. j'ai écrit un code mais ça ne marche pas, enfin celui de la matrice des corrélations. en fait je crée un tableau et à partir de celui ci déterminer la matrice des covariances et des corrélations. si je pouvais avoir un p'tit coup de main svp.
Function matrice_covariance(T, n, p) As Long
Dim COV() As Long
Dim MC() As Long
Dim k As Integer
Dim l, i As Integer
Dim s As Long
ReDim COV(1 To p, 1 To p) As Long
ReDim MC(1 To p) As Long
For k = 1 To p
For l = 1 To p
s = 0
For i = 1 To n
s = s + T(i, k) * T(i, l)
Next i
COV(k, l) = s \ n - MC(k) * MC(l)
matrice_covariance = COV(k, l)
Next l
Next k
End Function
______________
Sub matrice_correlation(T, n, p As Integer)
Dim COR() As Long
Dim j, i As Integer
Dim COV() As Long
Dim ET_L() As Long
Dim ET_C() As Long
Dim k, l As Integer
ReDim COR(1 To p, 1 To p) As Long
ReDim COV(1 To p, 1 To p) As Long
ReDim ET_L(1 To n) As Long
ReDim ET_C(1 To p) As Long
For i = 1 To p
For j = 1 To p
COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j)
Next j
Next i
End Sub
A voir également:
- Matrice des corrélations
- Excel vous ne pouvez pas modifier une partie de matrice ✓ - Forum Excel
- Vous ne pouvez pas modifier une partie de matrice - Forum Excel
- Inverse matrice excel ✓ - Forum Excel
- Calculatrice matrice - Télécharger - Calcul & Conversion
- Exemple matrice de flux firewall excel - Forum Réseau
2 réponses
en fait l'erreur est à cette ligne, je sais pas quoi faire !
COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j)
COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j)
3 remarques:
* A quoi sert-il de déclarer un tableau dynamique et de faire une seule fois un Redim? Je trouve plus lisible d'écrire directement: Dim COR(1 To p, 1 To p) As Long.
* A quoi sert_il de passer le paramètre T au sous-programme 'matrice_correlation'? Il n'est jamais utilisé!
* Dans la formule: ET_L est indexé par i qui prend des valeurs de 1 à p, ... et ET_L est dimentionné à n!
De la rigueur, de la rigueur!!!
* A quoi sert-il de déclarer un tableau dynamique et de faire une seule fois un Redim? Je trouve plus lisible d'écrire directement: Dim COR(1 To p, 1 To p) As Long.
* A quoi sert_il de passer le paramètre T au sous-programme 'matrice_correlation'? Il n'est jamais utilisé!
* Dans la formule: ET_L est indexé par i qui prend des valeurs de 1 à p, ... et ET_L est dimentionné à n!
De la rigueur, de la rigueur!!!