Does sin() have an error?

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
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 个评论

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