25
End Function
Function xp(Vx As Double) As Double
xp = 2 * pi * Vx
End Function
Function yp(Vy As Double) As Double
yp = 2 * pi * Vy
End Function
' Процедура для реализации метода Рунге-Кутта
Sub Расчет()
' Объявление переменных
' i – счетчик шагов цикла
' kvx1, kvy1, kx1, ky1 – компоненты вектора k
1
в (П9) в лаб/раб № 1
' kvx2, kvy2, kx2, ky2 – компоненты вектора k
2
в (П9) в лаб/раб № 1
' kvx3, kvy3, kx3, ky3 – компоненты вектора k
3
в (П9) в лаб/раб № 1
' kvx4, kvy4, kx4, ky4 – компоненты вектора k
4
в (П9) в лаб/раб № 1
' r1, r2, r3 – расстояния от движущейся частицы до неподвижных зарядов
' r – минимальное из этих расстояний
' tt – имя диаграммы
' n – частота дробления траектории
Dim i As Integer
Dim kvx1 As Double, kvx2 As Double, kvx3 As Double
Dim kvx4 As Double, kvy1 As Double, kvy2 As Double
Dim kvy3 As Double, kvy4 As Double, kx1 As Double
Dim kx2 As Double, kx3 As Double, kx4 As Double
Dim ky1 As Double, ky2 As Double, ky3 As Double, ky4 As
Double
Dim r1 As Double, r2 As Double, r3 As Double, r As Double
Dim tt, n As Integer
' Связывание объектовой переменной ID с диапазоном исходных данных
' листа Расчет
Set ID = Worksheets("Расчет").Range("A2:A18")
' Связывание объектовой переменной Rez с диапазоном результатов расчета
' листа Расчет
Set Rez = Worksheets("Расчет").Range("A23:F20000")
' Обнуление содержания объектовой переменной Rez
Rez.ClearContents
' Запоминание имени диаграммы и переопределение диапазона исходных данных
tt = ActiveSheet.ChartObjects(1).Name
ActiveSheet.ChartObjects(tt).Activate
ActiveChart.ChartArea.Select
ActiveChart.SetSourceData Source:=Sheets("Расчет"). _
Range("B22:C20000"), PlotBy:=xlColumns
' Присвоение значений исходным данным из объектовой переменной ID
x1 = ID(1)