Taylor series for sine and cosine我将在这里发布我的代码:
public double MiSeno(long n, int t) //n es x, t es en
{
double s = 0, x;
int sig = 1;
for(int i = 1; i < t; i++)
{
x = Math.pow(n,i) / Factorial(i) * sig;
sig *= -1;
s += -x;
}
return s;
}
我知道我现在做错了,但我很困惑。
最佳答案
正弦级数的幂和阶乘移动两个(即奇数),因此您的 for 循环应该是:
for(int i = 1; i < t; i+=2)
有几件事:
- 确保将 Factorial 的输出类型转换为 double 以获得精确的浮点值。
- 确保您的整数也不会因阶乘计算而溢出。
关于java - 如何在 Java 中生成这些正弦和余弦函数? (泰勒级数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46503671/