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