ALTracer

Fourier_Running in Excel VBA

Oct 1st, 2020 (edited)
810
5 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Function CFourier_run_coef(w_B, addr_cell) As Double
  2.  
  3. Dim C(24) As Double
  4.  
  5.     k = Range(addr_cell).Row - 4
  6.     ' Цикл для вычисления коэффициентов
  7.    For i = 1 To 24
  8.         C(i) = Sin((k + 1 + i - 1) * w_B / 1200)
  9.     Next i
  10.    
  11.     ' Цикл для вычисления орт.сост.
  12.    a = 0
  13.    
  14.     If k < 23 Then
  15.         start_row = 24 - k
  16.     Else
  17.         start_row = 1
  18.     End If
  19.     For m = start_row To 24
  20.         x = Range(addr_cell).Offset(m - 24, 0)
  21.         a = a + x * C(m)
  22.     Next m
  23.    
  24.     a = a * 2 / 24
  25.    
  26.     CFourier_run_coef = a
  27.  
  28. End Function
  29.  
  30. Function SFourier_fix_coef(w_B, addr_cell) As Double
  31. Dim S(24) As Double
  32.  
  33.     ' Цикл для вычисления коэффициентов
  34.    For i = 1 To 24
  35.         S(i) = Cos((Range(addr_cell).Row - 3 + i - 1) * w_B / 1200)
  36.     Next i
  37.    
  38.     ' Цикл для вычисления орт.сост.
  39.    b = 0
  40.     If Range(addr_cell).Row < 24 + 3 Then
  41.         start_row = 28 - Range(addr_cell).Row
  42.     Else
  43.         start_row = 1
  44.     End If
  45.     For i = start_row To 24
  46.         x = Range(addr_cell).Offset(i - 24, 0)
  47.         'If IsNumeric(x) Then
  48.            b = b + x * S(i)
  49.         'End If
  50.    Next i
  51.    
  52.     b = b * 2 / 24
  53.    
  54.     SFourier_fix_coef = b
  55.  
  56. End Function
RAW Paste Data