web-dev-qa-db-ja.com

Math.cos()が間違った結果を与える

Wolfram Mathematicaによると:cos(50) =0.6427876096865394;

しかし、Javaのこのコード:

    System.out.println(Math.cos(50));

0.9649660284921133を返します。

Java.lang.Mathの何が問題になっていますか?

39
z3on

Math.cos()は、パラメーターがラジアンであると想定しています。これにより、必要な結果が返されます。

Math.cos(Math.toRadians(50));
97
Dan D.

Math.cos()radiansを使用するため、期待する結果を得るには、

System.out.println(Math.cos(Math.toRadians(50)));
14
Keppil

ほとんどのJava三角関数は、パラメーターがラジアンであると想定しています。Math.toRadians()を使用して変換できます。

System.out.println(Math.cos(Math.toRadians(50)));
3
fbafelipe

度<>ラジアン...........

2
Martin James