绘制时间与角度的关系;如何将时间转换为数字

时间:2019-02-06 20:27:57

标签: excel matlab time solar

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

入射角取决于小时角(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

1 个答案:

答案 0 :(得分:0)

如果在程序中一天中的时间是datetime类型的变量,则可以使用datenum将日期转换为数字,也可以使用以下功能:{{ 3}}提取小时,分钟和秒,然后使用它们计算角度。

因此,例如,您可以拥有以下内容:

function angle = Angle_Hour(k)
   hours = hour(k) + minute(k)/60 + second(k)/3600
   angle = % some expression/function of time in hours
end