ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 5366|回复: 15

[分享] 全年日照时长变化

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-11-25 13:48 | 显示全部楼层 |阅读模式
竖轴  = 某回归年的 全年系列日期
横轴  = 南半球、北半球 的 系列纬度 (-90 -- 90 度)

按公转轨道坐标 ,计算出 每天的 日照时长 (二维表格)。

1234.jpg

全年日照时长.rar (101.25 KB, 下载次数: 243)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-25 13:51 | 显示全部楼层
Sub 按钮1_Click()
Dim arr, k0, brr(), crr
k0 = [a1].End(4).Row - 1
arr = [a2].Resize(k0, 1)
ReDim brr(1 To k0, 1 To 4)
crr = [f1].Resize(k0 + 1, 11)


Dim z() As Double, i
Dim y1 As Long, m1 As Integer, d1 As Integer

For i = 1 To k0

   ''''''''''''''儒略日转换

   ymd = Split(arr(i, 1), "-")
   y1 = ymd(0): m1 = ymd(1): d1 = ymd(2)

   brr(i, 1) = GL2JD(y1, m1, d1) - 8 / 24 + deltaT(y1) / 86400
   testT = (brr(i, 1) - 2451545#) / 365250 '儒略千年数

   ''''''''''''''计算太阳坐标

   ReDim z(0 To 2)
   Call earthCoor(testT, z, -1) '地球黄经
   z(0) = z(0) + pai: z(1) = -z(1) '太阳黄经黄纬 //太阳地心黄经 = 地球日心黄经 + 180°
   brr(i, 2) = z(0)

   gx = gxc_sun(testT, z(0)) '太阳光行差
   nu = nutation(testT * 10)  '章动计算
   nu2 = Split(nu, ",")
   z(0) = z(0) + (nu2(0) + gx) / (rad * 3600) '补章动与光行差

   E = hcjj(testT) + nu2(1) / (rad * 3600) '得到真黄赤交角
   Call HCconv(z, E) '转到赤道坐标

   brr(i, 3) = rad2str(rad2mrad(z(0)), 1) '视赤经

   temp = rad2mrad(z(1))
   brr(i, 4) = rad2str(temp * 1, 0) '视赤纬

For j = 1 To 11
   crr(i + 1, j) = ACos4(Tan(temp * 1) * Tan(crr(1, j) / rad)) / pai
   crr(i + 1, j) = Round((1 - crr(i + 1, j)) * 24, 2)
Next
Next

[b2].Resize(k0, 4) = brr
[f1].Resize(k0 + 1, 11) = crr
End Sub

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-26 09:51 | 显示全部楼层
“太阳时角“ 对应 太阳高度角 中午最高点的时间?

6556.JPG

平午时刻.rar (73.31 KB, 下载次数: 146)

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-26 09:53 | 显示全部楼层
新增加的公式 ,用来计算格林威治时间 (gst )。

Function JD2GST(jda)          'jda儒略日平午

    t = (jda - 2451545#) / 36525
    t2 = t * t: t3 = t2 * t: t4 = t3 * t
     
    JD2GST = 2 * pai * (0.779057273264 + 1.00273781191135 * (jda - 0 / 24 - 2451545#)) _
           + (0.014506 + 4612.15739966 * t + 1.39667721 * t2 - 0.00009344 * t3 + 0.00001882 * t4) / (rad * 3600) '恒星时(子午圈位置)

End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-26 10:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
平太阳时真太阳时的差。一年之中时差是不断改变的,
最大正值是+14分24秒,最大负值是 -16分24秒,有4次等于零。



3楼 不小心 把时差算出来了。


t010601e9aebce3e4ad.jpg 333.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-26 13:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 zopey 于 2018-11-26 13:54 编辑

求某地 某天日出、日落时刻 的具体步骤:
1、由日期 得到的太阳时角 为当地时间  t1 -----3楼
2、按当地所在经度 换算为 北京时间(东八区=东经120度) t2  ---初中地理
3、由日期+ 当地纬度 得到的 当天日照时长 为 H (小时)-----1楼
4、日出时间 t3 = 当地正午 北京时间  - 当天日照时长/2  -----小学数学
                     t3 =t2 - H /2
5、日落时间 t4 = 当地正午 北京时间 + 当天日照时长/2
                     t4 =t2 + H /2






TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-29 21:34 | 显示全部楼层
知识点 学习: 时间具有“时间间隔”(时间段)和“时刻”两种含意。

1、以地球自转为基础 ,并与地球自转角度相对应的时间系统有 恒星时、太阳时(平太阳时+真太阳时),具有地方性。
   世界时 UT 是以平太阳时为基准的,它基于假想的平太阳,是从经度为0°的格林尼治子午圈起算的一种地方时,
   这种地方时属于包含格林尼治的零时区,所以称为世界时。

2、历书时 ET   地球公转 1952年建立
3、原子时 ATI  原子时秒 1967年采用
========================
4、协调世界时 UTC 是综合了世界时与原子时的另一种计时方法,即秒长采用原子时的秒长,而时刻则采用世界时时刻,
   所以严格地讲,这不是一种时间系统,而是一种使用方法 ,简称 协调时。

===========================
5、力学时 DT 是天文力学理论及其历表所用的时间系统。有 地球力学时 TDT  、太阳力学时 TDB

   地球质心力学时作为一种严格均匀的时间尺度和独立变量.被用于描述卫星的运动。
   规定1977年1月1日原子时0时与地球质心力学时的严格关系为: TDT = ATI + 32.184 (s)

   地球力学时与世界时的关系: TDT = UT1 + ΔT    其中ΔT 为改正值 可按照世界时的年月日 索引查表

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-29 23:16 | 显示全部楼层
换算公式推导如下

1、世界时
儒略日                                  JD=gl2jd(y,m,d,h,m,s)
从2000年算起的儒略世纪数   t=(JD-2451545)/36525

2、力学时
以力学时计算的儒略日       JDE=JD -所在时区8/24力学时+ΔT/86400
以力学时计算的儒略世纪数    T=(JDE -2451545)/36525

=====================
如果迭代法求得方程的根为:  以力学时(均匀时间系统)计算的从2000年算起儒略世纪数    T ,

则儒略日JD对应北京时间       JD = (2451545 + T * 36525) - ΔT / 86400 + 8 / 24




TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-20 19:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
易卦大循环 之阳仪 (序号 1-32)

11.jpg

易卦大循环 之阴仪 (序号 33-64)

22.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-20 19:18 | 显示全部楼层
此大循环 代表太阳回归年(“二分二至”) 日照强度的变化趋势,
阳度取值范围 0-32 ,规律如下:

1、春分 阳度=16 ,递增
2、夏至 阳度=32 (极大),日照减少
3、秋分 阳度=16 ,递减
4、冬至 阳度= 0  (极小),日照增加
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-15 22:44 , Processed in 1.065308 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表