2014-11-04 27 views
1

沒有工作,我有一個條件,使得三角秒功能的PERL

cos($x)=$y; 

因爲我知道$ Y,我想找到的$ X

值我用

$x=sec($y);  

這給我錯誤未定義的子程序調用。

請建議如何解決它。我不想使用一些額外的模塊。

+0

我不知道任何Perl的,但你似乎可以用一個割線功能,你應該使用反餘弦函數。前者是餘弦的倒數,後者是倒數 - 有很大的差異。 – 2014-11-04 06:29:28

+1

錯誤告訴你,Perl沒有內置的'sec'功能。 – toolic 2014-11-04 17:56:04

回答

3

perldoc -f cos

COS

返回EXPR的餘弦值(以弧度表示)。如果省略EXPR,則取$ _的餘弦值。 對於反餘弦操作,您可以使用數學::觸發:: ACOS()函數,或使用這種關係:

sub acos { atan2(sqrt(1 - $_[0] * $_[0]), $_[0]) }