2017-11-16 12 views
0

問題が発生しましたが、エラーが見つかりません。私は角度の正接を計算しようとしています。私はラジアンと度の両方で試しました、私は間違った答えを得ました。私のコード:tanf()関数はiOSで間違った値を返します

CGFloat tiltAngleDegrees = tiltAngle * 180.0f/M_PI - 90.0f; // in degrees 
NSLog(@"Tan Angle: %f", tanf(tiltAngleDegrees)); 

私は角のために試してみました:-6.027872

を私は答えました:私は電卓で計算0.261010

回答:-0.105596

を、私はそれがために思っていました簡単な仕事ですが、壁に衝突しました。何がうまくいかないのか分かりません。私はあなた方のうちの何人かが私に正しい方向を向けることを願っています。

ありがとうございました。

+0

@maddy私もラジアンで試しましたが、間違った結果を得ました – taimur

答えて

3

tanfにはラジアンが必要です。

は単純に実行します。

float tangent = tanf(-6.027872); 

結果は0.261009となります。

これは正しい結果です。

-6.027872の-0.105596の結果は、電卓に-6.027872と入力したことを意味します。あなたの計算機をラジアンモードにして、このtanf関数の場合と同じように正しい結果が0.261009になります。

+0

float tangent = tanf(-6.027872); NSLog(@ "接線:%f"、接線); – taimur

+0

これが、正接:0.261009 – taimur

+0

私の更新答えを見てください。 – rmaddy

1

@rmaddyがtanfはあなたのケースでは、ラジアン

を必要と言ったように私はあなたの角度はラジアン

tiltAngle = -6.027872 //in radians 

でそう

float tangent = tanf(-6.027872); 

正解であるあなたに0.26101を与えているとします。

コードサンプルでは、​​tiltAngleをラジアンから度に変換しますが、を代入すると90°となります。それには何らかの理由がありますか?その瞬間、正しい結果は-3.8313になります。

しかし、問題は電卓を度で設定していることです。その時点で-6.027872が度であれば、-0.105596になります。これは間違っています。

+0

次に0.26101ラジアン= -0.105596度?? – taimur

+0

この関数はラジアンで私に与え、電卓は度を与えます....どちらも等しいでしょう。すなわち、0.26101ラジアン= -0.105596度ですか? – taimur

+1

それを持って....あなたの貴重な言葉をありがとう – taimur

関連する問題