Matrice des corrélations

pheron -  
 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

2 réponses

pheron
 
en fait l'erreur est à cette ligne, je sais pas quoi faire !

COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j)
0
loupius
 
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!!!
0
pheron
 
alors, pour la première remarque, j'avais déjà tenté mais résultat ==>> 'requiert une constante'
pour le paramètre T vous avez avez raison.
bon après je me suis basé sur le code qu'on avait fait en cours. apres passer en application, c'est autre chose...
0
Wheelman > pheron
 
Bonjour,
Moi aussi j'ai quelques soucis avec cette matrice des corrélations. Un peu d'aide serait la bienvenue svp.
0