【发布时间】:2015-03-12 11:01:58
【问题描述】:
我有一个任务要编写一个程序,该程序可以计算某个区域中图形下方的面积。
我的功能是f(x)=3+(tan(x))^2
我已经把它变成了javascript,所以它看起来像这样:
var y = 3 + Math.pow(Math.tan((x)*(180/Math.PI)), 2)
这是在某些 x 值处给出正确的结果。但有时,例如。在x = 3.4,它给出了一个奇怪的数字,比如 16,我预计在 3 或 4 附近会有一些东西。
我已经读过它可能是由浮点行为问题引起的,但它不应该有那么大的区别吗?我不明白。 :(
我使用 for 循环来更改 x 的值,并使用数组来存储这些值。
【问题讨论】:
-
Math.tan((x)*(180/Math.PI))嗯?你为什么要在那里转换学位?Math.tan()需要弧度。 -
哦哇哦..我一定误解了我在另一个线程中读到的东西。谢谢!我会编辑
-
它工作了......当然。现在对我来说很明显。非常感谢!我很高兴它是如此简单!谢谢! :)
标签: javascript math floating-point floating-accuracy