我有以下公式: 我试图将它转换成Perl代码,看起来像这样:$stuck = (360 / $pi2); $stuck2 = sin($stuck * $Eccent * $M); 其中$Eccent = 0.016713,$M = 202.065469250756,$pi2 = 3.1415927 我得到了-0.542630163200668 答案应该是:-0.719461 如果能帮忙解决问题将不胜感激,因为我不知道它应该是什么样子!
这个公式只需要对M取正弦,没有别的要求。use Math::Trig qw( pi ); my $Ec = 360 / pi * $e * sin($M); 有一个问题:你的M的值是以度为单位,而sin函数需要弧度单位。 use Math::Trig qw( pi deg2rad ); my $Ec = 360 / pi * $e * sin(deg2rad($M)); 这相当于 use Math::Trig qw( deg2rad rad2deg ); my $Ec = rad2deg(2 * $e * sin(deg2rad($M)));
(360/pi) * e * sin M
吗?因为你的 Perl 代码并不是这样写的,它是这样写的:sin( (360/pi) * e * M)
。 - TLP