|
楼主 |
发表于 2019-2-18 11:52
|
显示全部楼层
- Function getjq_12(yy, jda)
- k0 = Round((moon_L(jda) - earth_L(jda)) / (pai * 2), 0)
- jd1 = jda
- W1 = (k0 - 1) * pai * 2
- Do
- jd0 = jd1
- stDegree = moon_L(jd0) - earth_L(jd0) - W1
- stDegreep = (moon_L(jd0 + 0.000005) - earth_L(jd0 + 0.000005) - moon_L(jd0 - 0.000005) + earth_L(jd0 - 0.000005)) / 0.00001
- jd1 = jd0 - stDegree / stDegreep
- Loop Until Abs(jd1 - jd0) < 0.0000001
- getjq_12a = jd1 + 8 / 24 - deltatT(yy) / 86400
- jd2 = jda
- W2 = k0 * pai * 2
- Do
- jd0 = jd2
- stDegree = moon_L(jd0) - earth_L(jd0) - W2
- stDegreep = (moon_L(jd0 + 0.000005) - earth_L(jd0 + 0.000005) - moon_L(jd0 - 0.000005) + earth_L(jd0 - 0.000005)) / 0.00001
- jd2 = jd0 - stDegree / stDegreep
- Loop Until Abs(jd2 - jd0) < 0.0000001
- getjq_12b = jd2 + 8 / 24 - deltatT(yy) / 86400
- If Round(getjq_12b, 0) = Round(jda, 0) Then
- getjq_12 = getjq_12b
- ElseIf getjq_12b <= jda Then
- getjq_12 = getjq_12b
- ElseIf getjq_12a <= jda Then
- getjq_12 = getjq_12a
- ElseIf Round(getjq_12a, 0) = Round(jda, 0) Then
- getjq_12 = getjq_12a
- End If
- End Function
复制代码
|
评分
-
1
查看全部评分
-
|