我的任务是编写一个程序,可以计算某个区域中图形下方的面积。
我的函数是 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
值,并使用数组来存储这些值。
最佳答案
x*180/π
将 Angular x
(以弧度为单位)转换为度数。但这几乎肯定是错误的:JavaScript 三 Angular 函数期望其参数以弧度表示。因此,如果您的 Angular 以弧度为单位,则根本不需要任何转换,而如果以度为单位,则应进行相反的转换,即 x*π/180
。
关于JavaScript 数学给出了完全错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29007997/