我门外汉,刚注册进来沉这学习许剑伟老师的算法。。。。
先请教一个问题,许剑伟老师 第24章 太阳位置计算中
计算1992-10-13,0点,即力学时TD=JDE 2448908.5时刻的太阳位置
lo = 280.46645 + 36000.76983 * t + 0.0003032 * t ^ 2
我计算的结果前面的和许剑伟老师公布的一样,但后面是怎么转成201.80719的不明白,请各位老师指点下。。谢谢了。。。
Lo= -2318°.19281 = 201°.80719
根据许剑伟老师的算法,我用VB6编了个求儒略日的函数,可对公历任一日期计算。测试没问题,还请各位老师多指教,下面是代码:
Function jd(sdate As Date) As Double '儒略日计算
Dim y As Integer, m As Integer, d As Double
Dim a As Double, b As Double, jd As Double
y = Year(sdate): m = Month(sdate): d = Day(sdate)
If m <= 2 Then
y = y - 1: m = m + 12
End If
a = Int(y / 100)
b = 2 - a + Int(a / 4)
If y <= 1582 Then b = 0 'And m <= 10 And d <= 15 Then b = 0'儒略日格利高历界限15821015日
jd = Int(365.25 * (y + 4716)) + Int(30.6001 * (m + 1)) + d + b - 1524.5
End Function
函数说明:其实sdate 的数据类型应该设成Double而不是用日期型,因为儒略日是带小数的计算,这里图了方便。。。
格利高历的界限还没准确到1582年的10月15日,只是作了按年的判断。。。
[此贴子已经被作者于2012-7-3 23:36:26编辑过]