小编Dev*_*evX的帖子

什么可能是泰勒系列的正弦函数的时间复杂性?

我到处搜索,甚至在SO上搜索.关于谷歌的学术文章远远超出了我的心智能力. 是尽可能接近,但没有回答我的问题.就我所寻找的那样,没有答案.相信我.(但随意证明我错了)

我有一个功课问题,用于计算正弦函数的时间复杂度,使用泰勒的正弦(x)函数展开.我不是要求泰勒系列或泰勒系列功能程序,而是它的时间复杂度.我知道泰勒扩张的下一个任期是:

x ^ n中的项(x ^ n-2中的项)*x*x/n /(n-1)

功能片段是这样的:

double sine(double x) {
int n;
double sum, term;
n = 3;
sum = x;
term = x;
while(isgreater(fabs(term), 0.0000000001)) {
    term = (term * x * x) / ( n * (n -1));
        if(n % 4 == 3)
            sum -= term;
    else
            sum += term;
         n = n + 2;
}   
return sum;
}
Run Code Online (Sandbox Code Playgroud)

fabs()是绝对值的函数,0.0000000001是所需的精度.如果我的理解是正确的,那么当最后一个计算项的值小于/等于精度浮点数时,代码将停止.

到目前为止,我的推论可能是时间复杂度取决于x ^ 2/n ^ 2?或者它不是可推断的因为我们不知道哪个特定的索引/数字会比精确浮点数小?

数学对我不强,但幸运的是有像你这样的大师:)

c math time-complexity calculus taylor-series

1
推荐指数
1
解决办法
731
查看次数

标签 统计

c ×1

calculus ×1

math ×1

taylor-series ×1

time-complexity ×1