在Javascript中写一个方程式

时间:2014-12-29 16:34:29

标签: javascript math

我需要一个能够使当地倾斜的方程式。 6月22日Max Tilt为23.45,12月22日为-23.45。 我发现这个方程式应该可行,但我无法将其写入javascript。

δ=sin-1(sin(23.45°)sin(360365(d-81)))

d是当天的数字(1-365)。资料来源:http://pveducation.org/pvcdrom/properties-of-sunlight/declination-angle

我的尝试:

Math.pow(Math.sin(Math.sin(23.45) * (Math.sin((360/365) * (356 - 81)))), -1)

给出-1.3140077301935487,而预期为-23.45。

我的转换有什么想法?

2 个答案:

答案 0 :(得分:2)

Math.sin将弧度作为参数。以下是将度数转换为弧度的方法:

radians = degrees * ( Math.Pi / 180 );

答案 1 :(得分:2)

正如其他人所说,Math.sin takes radians as arguments。因此,您需要更改等式以使用弧度。

另外,Javascript has a method for arcsinMath.asin

根据您的来源中的等式,新结果可能如下所示:

var result = Math.asin(Math.sin(0.40927971) *
             Math.sin(0.0172142063 * ( (d - 81) * (Math.Pi/180) )));