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
| 'CALCUL DU CO-SPECTRE________________________________________________________________________________________________________
'Paramètres INPUT-------------------------------------
a = Range(Field_SelectedOutputRange).Row 'ligne de départ pour l'affichage des résultats
b = Range(Field_SelectedOutputRange).Column + 6 'colonne de départ pour les résultats
n = Range(Field_SelectedInputData).Count 'Nombre d'observation
m = Round(n / 3, 0) 'troncature
Dim Pi As Double 'definition de pi...
Pi = 4 * Atn(1) '......
C = Range(Field_SelectedOutputRange).Row + 1 'ligne de rxy(0)
d = Range(Field_SelectedOutputRange).Column + 2 'colonne de rxy(0)
i = 3 'nombre de colonne entre Rxy et Ryx
'Calcul----------------------------------------
Cells(a, b + 1) = "Hxy" 'Label de la colonnne
Cells(a, b) = "f" 'Label de la colonne
For j = 1 To m 'Pour j=0 à m
F = j / (2 * m) 'on calcul f
Hxy = 0 'initialisation de Hxy
z = 0 'initialisation de z, variable temporaire
For k = 1 To m 'Pour k=1 à m 'on initialise rk
dk = (1 + Cos(Pi * (k / m))) / 2 'on calcul dk
Rxy = Cells(C - 1 + k, d) 'valeur de rxy
Ryx = Cells(C - 1 + k, d + i) 'valeur de Ryx, i égal au nombre de colonne entre Rxy et Ryx
z = z + ((Rxy + Ryx) * dk * Cos(2 * Pi * F * k)) 'on en déduit z
Next k 'on passe à k+1
Hxy = 2 * (Cells(C, d) + z) 'calcul de Sf à partir de la valeur final de z
Cells(a + 1, b + 1) = Hxy 'on affiche sf ds la cellule A,B
Cells(a + 1, b) = F 'on affiche f ds la colonne suivante
a = a + 1 'on passe à la ligne suivante
Next j 'on passe au j suivant |
Partager