【发布时间】:2019-01-09 19:36:55
【问题描述】:
我正在使用泰勒级数来计算 sin()。罪的泰勒级数是:
我使用的实现如下所示:
float sine(float x, int j)
{
float val = 1;
for (int k = j - 1; k >= 0; --k)
val = 1 - x*x/(2*k+2)/(2*k+3)*val;
return x * val;
}
据我了解,该代码是多项式的j 项的近似值(换句话说,该近似值是从零到j 而不是从零到∞),k 是@公式中的987654328@,当然x就是x。
我试图理解那个实现,也就是从上面的公式到代码的转换。我的目标是为cos() 系列编写相同类型的实现。
你能帮我理解一下吗?
【问题讨论】:
-
考虑两个连续项的比率。
-
可能是Chebyshev approximation,而不是泰勒的。
标签: c trigonometry taylor-series