From the command line: >> 6*pi
ans =
18.8496
>> sin(ans)
ans =
-7.3479e-16
Really? Is that a rounding error? Is there a way to get the correct value?

 採用された回答

Matt Fig
Matt Fig 2012 年 10 月 24 日
編集済み: Matt Fig 2012 年 10 月 24 日

1 投票

That is the correct value for floating point arithmetic.
sin(pi) % Same as your example.
If you want to get the exact value, use the symbolic toolbox.
double(vpa('sin(pi)'))

1 件のコメント

Patrick Kelley
Patrick Kelley 2012 年 10 月 24 日
Yeah, I said rounding error when I meant precision error. Good old floating point binary format... I haven't used the symbolic toolbox much but I'll give it another look. Thanks for the quick answer.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で Introduction to Installation and Licensing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by