绘图时间与角度;如何将时间转换为数字

问题描述 投票:0回答:1

我正在尝试创建一个图(入射角与时间的关系)。时间设定在日出时至日出时(上午6:37:00 - 下午6:39:00)之间。我必须找到从日出到日落的每分钟间隔的入射角。唯一的问题是我没有最微弱的线索如何将时间转换为数字。

入射角取决于小时角(Angle_hour)。这取决于时间。中午前的时间为负值,中午后的时间为正。例如,在早上6:37,小时数等于-6.62。另一方面,下午6:39等于6.65。我试图让for循环计算时间范围内的不同值。

 for k = 1:6

    Hours = k;

    Angle_Hour(k) = 15 * Hours;
    Angle_Incidence(k) = acos((sin(Angle_Declination) * sin     (Angle_Latitude) * cos(Angle_Slope)) - (sin(Angle_Declination) * cos(Angle_Latitude) * sin(Angle_Slope) * cos(Angle_SurfaceAzimuth)) + (cos(Angle_Declination) * cos(Angle_Latitude) * cos(Angle_Slope) * cos(Angle_Hour(k))) + (cos(Angle_Declination) * sin(Angle_Latitude) * sin(Angle_Slope) * cos(Angle_SurfaceAzimuth) * cos(Angle_Hour(k))) + (cos(Angle_Declination) * sin(Angle_Slope) * sin(Angle_SurfaceAzimuth) * sin(Angle_Hour(k)))) ;

 end
excel matlab time solar
1个回答
0
投票

如果在你的程序中,一天中的时间是datetime类型的变量,那么你可以使用datenum将日期转换为数字,或者你可以使用函数:hour, minute, second来提取小时,分钟和秒,然后计算使用它们的角度。

例如,你可以这样:

function angle = Angle_Hour(k)
   hours = hour(k) + minute(k)/60 + second(k)/3600
   angle = % some expression/function of time in hours
end
© www.soinside.com 2019 - 2024. All rights reserved.