Guest User

Untitled

a guest
Dec 12th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub GDPModeling_6_26()
  2. 'Уравнение 6.26
  3. Dim niter As Integer 'количество итераций
  4. Dim disp As Double 'дисперсия
  5. Dim f As Double 'капиталовооруженность
  6. Dim delta As Double 'временной промежуток
  7. Dim Y0 As Double 'начальное ВВП
  8. Dim year_number As Integer 'Количество лет
  9. Dim Capital() As Double 'Капитал
  10.  
  11.  
  12. Dim Modeling() As Double
  13. Dim AvGDP() As Double
  14.  
  15. 'Сбор данных
  16.  
  17. year_number = Cells(1, 3).Value
  18. f = Cells(2, 3).Value
  19. delta = Cells(3, 3).Value
  20. disp = Cells(4, 3).Value
  21. niter = Cells(6, 3).Value
  22. Y0 = Cells(10, 3).Value
  23.  
  24. ReDim Capital(1 To year_number / delta - 1)
  25. For i = 1 To year_number / delta - 1
  26.     Capital(i) = Cells(9 + i, 2).Value
  27. Next i
  28.  
  29.  
  30. ReDim Modeling(0 To year_number / delta - 1, 1 To niter)
  31.  
  32. 'Расчет значений ВВП
  33. For i = 1 To year_number / delta - 1
  34.     For j = 1 To niter
  35.     Modeling(0, j) = Y0
  36.     Modeling(i, j) = Modeling(i - 1, j) + f * Capital(i) * delta + f * Capital(i) * Sqr(delta) * disp * gauss()
  37.     Next j
  38. Next i
  39.  
  40. 'Расчет среднего ВВП
  41. ReDim AvGDP(0 To year_number / delta - 1)
  42. Call MyAverage(niter, year_number, delta, Modeling(), AvGDP())
  43.    
  44.  
  45. 'Вывод данных
  46. For i = 0 To year_number / delta - 1
  47.     For j = 1 To niter
  48.         Cells(10 + i, 11 + j).Value = Modeling(i, j)
  49.     Next j
  50.     Cells(10 + i, 5).Value = AvGDP(i)
  51.     Cells(10 + i, 6).Select
  52.     ActiveCell.FormulaR1C1 = "=STDEV(RC[6]:RC[" & 5 + niter & "])"
  53.     Cells(10 + i, 7).Select
  54.     ActiveCell.FormulaR1C1 = "=MIN(RC[5]:RC[" & 4 + niter & "])"
  55.     Cells(10 + i, 8).Select
  56.     ActiveCell.FormulaR1C1 = "=MAX(RC[4]:RC[" & 3 + niter & "])"
  57.     Cells(10 + i, 9).Select
  58.     ActiveCell.FormulaR1C1 = "=RC[-4]-RC[-3]"
  59.     Cells(10 + i, 10).Select
  60.     ActiveCell.FormulaR1C1 = "=RC[-5]+RC[-4]"
  61.    
  62. Next i
  63. Cells(9, 5).Value = "Mean"
  64. Cells(9, 6).Value = "Stdev"
  65. Cells(9, 7).Value = "Min"
  66. Cells(9, 8).Value = "Max"
  67. Cells(9, 9).Value = "Mean-Stdev"
  68. Cells(9, 10).Value = "Mean+Stdev"
  69.  
  70.  
  71. Cells(8, 1).Value = "Значения сгенерированны при помощи генератора псевдослучайных чисел"
  72.  
  73.  
  74.  
  75. End Sub
Add Comment
Please, Sign In to add comment