- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用 Java 写了一个正弦函数,它应该像这样计算 x 的正弦
我的函数看起来像
public static double sine(int x) {
double result = 0;
for(int n = 0; n <= 8; n++) {
double temp = 2 * n + 1;
result += Math.pow(-1, n) * Math.pow(x, temp) / fact(temp); // fact() calculates faculty
}
return result;
}
只有少数小数位与 Math.sin() 匹配,但前提是 x 小于 6 且 n 的极限等于 8。
有时,如果 x 大于 6,sine() 甚至会返回 4.106,或者如果 n 的限制大于 32,它会返回 NaN 或 -Infinity...
我做错了什么?
希望您能帮助我,在此先感谢您!
最佳答案
对于如此低的 n 值,泰勒级数对于大数来说是一个很差的正弦近似值。对于 8 度,任何大于 4 度的角度都会产生明显不准确的结果。
因为正弦是周期性的,所以一个简单的解决方案是用模除以角度(以弧度为单位)除以 2*pi。 Java 中的 StrictMath
类以不同的方式减少角度,但思想是相同的。在这种情况下,他们将角度减小到 [-pi/4, pi/4]
之间以提高准确性。 This tool展示了准确性如何随着泰勒级数的增加而提高。
关于java - 泰勒级数的正弦计算不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28220855/
我需要对反正切值执行泰勒级数 50 次。表示 arctan Taylor 级数的域之间的 50 个数字,即 [-1,1]。我已经用手动用户输入对其进行了测试并且它工作正常,但是我在代码中递增 0.01
我在网上看了几个小时,想看看我是否能找到解决方案,虽然我已经找到了很多解决方案,但我教授的指示如下: Write a program to estimate PI (π) using the foll
我最近在编程测试中被问到这个问题。我似乎无法理解为什么我会得到答案“1”。我是 C 编程语言的初学者。 这是我的代码: #include int main() { float c = 0;
我是一名优秀的程序员,十分优秀!