C++ 使用泰勒级数计算 sin(x) 近似值

根据泰勒级数展开式 sin(x) = x/1! - x^3/3! + x^5/5! - x^7/7! + ..., 可以编写函数 double mySin(double) 来求 sin(x) 的近似值。

可以使用循环来计算泰勒级数的每一项,然后将所有项相加即可。具体实现如下:

#include <cmath>

double mySin(double x) {
    double result = 0.0;
    double term = x;
    int sign = 1;
    double factorial = 1.0;
    for (int i = 1; i <= 10; ++i) { // 只计算前 10 项
        result += sign * term;
        term = term * x * x / ((2 * i) * (2 * i + 1));
        sign = -sign;
        factorial = factorial * (2 * i) * (2 * i - 1);
    }
    return result;
}

在上面的代码中,我们用变量 result 来保存当前的总和,用变量 term 来保存当前项的值,用变量 sign 来记录当前项的符号,用变量 factorial 来记录当前项的分母(即阶乘)。循环 10 次(也可以根据需要调整次数),每次计算一项,然后加到总和中。最后返回总和即可。注意在计算每一项时,我们要用到上一项的值,因此需要不断地更新变量 term

C++ 使用泰勒级数计算 sin(x) 近似值

原文地址: https://www.cveoy.top/t/topic/oJRM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录