Cos function with Array

13 ビュー (過去 30 日間)
Nhan Nguyen
Nhan Nguyen 2020 年 10 月 25 日
コメント済み: Nhan Nguyen 2020 年 10 月 25 日
Hi, I am using cos function to calculate the cosine of an array as following:
a = th4_s1(2); %second element of my "th4_s1" array, which equals 1.5708
b = cos(a); %Matlab gives answer as 6.123e-17
c = 1.5708;
d = cos(1.5708); %Matlab gives answer as -3.6732e-6
Why are they so different? How can I avoid this error?
Thank you.

採用された回答

Walter Roberson
Walter Roberson 2020 年 10 月 25 日
>> acos(6.123e-17)
ans =
1.5707963267949
>> acos(-3.6732e-6)
ans =
1.5707999999949
>> cos(1.5708)
ans =
-3.67320510334657e-06
>> acos(cos(1.5708))
ans =
1.5708
>> acos(cos(1.5708)) - 1.5708
ans =
0
In other words, your th4_s1(2) is not 1.5708: it only rounds to that for display purposes, and is closer to 1.50796 .
And that cos(1.5708) is not 6.123e-17 like you show: that value is cos(1.5707999999949) not cos(1.5708) .
My recommendation would be that you go into Preferences -> Command Window -> Text Display, and choose numeric display "long g", and also Preferences -> Variables -> Default array format: and select "long g" (this affects the Variable Browser)
  1 件のコメント
Nhan Nguyen
Nhan Nguyen 2020 年 10 月 25 日
Thank you so much.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeArray Geometries and Analysis についてさらに検索

タグ

製品


リリース

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by