美文网首页
比尔盖茨汇编实现泰勒级数

比尔盖茨汇编实现泰勒级数

作者: 杰_6343 | 来源:发表于2021-12-17 09:27 被阅读0次

泰勒级数-比尔盖茨汇编实现的以泰勒公式计算逼近正弦sin函数的方法

编程珠玑

发现越往后,越精确,但是代价就是计算量越大。而往往我们直接舍去后面的高阶无穷小,仅需要前三四项即可满足我们的要求。

具体步骤为:

1),先让函数值相同,也即 得到:  2),再让一阶导数相等

得到: ......

最后让n阶导数数相等 (  的  阶导数仍是  )

得到: 最后得出:

当  不断增大的时候,小明惊奇地发现在固定区间内,两者几乎完美地融合在了一起

泰勒级数的几何意义

三个面积相加,也就是

上面这个式子不正是泰勒级数展开的二次多项式

当无限逼近  ,那么我们完全可以用  来近似  ,也就是说省略掉后面的矩形与三角形,只剩下一项。而实际上我们省略了后面的高阶无穷小,在一般情况下,精度已经够高了。

这便是泰勒级数在几何上面的解释。

通过C语言翻译实现

#include <math.h>
// 多项式求值,c[0] + c[1] * x + c[2] * x^2 + ... + c[n-1] * x^(n-1)
float poly(float x, int n, const float* c) {
    float sum = 0;
    for(int i = 0; i < n; ++i) {
        sum *= x;
        sum += c[i];
    }
    return sum;
}
// 多项式求值,c[0] * x + c[1] * x^3 + c[2] * x^5 + ... + c[n-1] * x^(2n-1)
float polyx(float x, int n, const float* c) { return poly(x * x, n, c) * x; }
// 泰勒展开的系数,(2PI)^n / n! (n = 9, 7, 5, 3, 1)
const float SIN_TABLE[] = {39.710899, -76.574956, 81.602231, -41.341677, 6.2831853};
float basic_sin(float x) {
    // 应用三角函数的周期性,变换输入 [0, 2PI) / [0, 1)
    x /= 3.1415926 * 2;
    x -= floor(x);
    // 将输入进一步变换到 [-PI/2, PI/2] / [-1/4, 1/4]
    x = 0.25 - x;
    int sign = x <= 0;
    if(sign) {
        // 第二、三、四象限
        x += 0.5;
        if(x > 0) {
            // 第二、三象限
            x = -x;
        }
    } else {
        // 第一象限
        x = -x;
    }
    x += 0.25;
    if(sign) x = -x;
    // 这一步完成之后:
    // 第一象限 [0, 1/4) -> [0, 1/4):x -> x
    // 第二象限 [1/4, 2/4) -> (0, 1/4]:x -> 0.5 - x
    // 第三象限 [2/4, 3/4) -> (-1/4, 0]:x -> 0.5 - x
    // 第四象限 [3/4, 1) -> [-1/4, 0):x -> x - 1
    // 然后就是泰勒展开
    return polyx(x, 5, SIN_TABLE);
}

相关文章

  • 比尔盖茨汇编实现泰勒级数

    泰勒级数-比尔盖茨汇编实现的以泰勒公式计算逼近正弦sin函数的方法 编程珠玑[https://mp.weixin....

  • 泰勒公式 - 泰勒级数

    泰勒公式 基本介绍 泰勒公式,应用于数学、物理领域,是一个用函数在某点的信息描述其附近取值的公式。如果函数足够平滑...

  • 人工智能学习笔记-Day06

    继续泰勒公式 表达项是否收敛是泰勒级数无限展开是否合理的关键 单看通项,是收敛的。 重点看系数项是否收敛。泰勒级数...

  • 数学 | 泰勒级数

    泰勒级数:只要一个函数无穷光滑,那么泰勒级数就存在,但是不一定收敛,而且即使收敛,也不一定收敛于原函数。 泰勒公式...

  • 数值计算·微笔记

    不同数值计算方法都是干嘛的?它们以各自的方式来逼近泰勒级数的值。泰勒级数就是它们这些方法的标杆,这些方法的终极目标...

  • math revisited

    泰勒级数: http://www.amath.nchu.edu.tw/~tdoc/lecture/Ch16/16-...

  • 西瓜书笔记01:logistic回归、决策树

    logistic回归 @[回归|分类|极大似然|泰勒级数|牛顿法|Hessian矩阵|sigmoid函数] 线性模...

  • 麦克劳林公式-麦克老林级数

    麦克老林公式 公式描述:麦克劳林公式是泰勒公式的一种特殊形式。 泰勒公式可以参考这里 麦克劳林级数(Maclaur...

  • 高数——泰勒级数和傅里叶级数

    泰勒级数: 就是用无穷级数去逼近一个光滑函数。当时,就转变为麦克劳林公式。 ,条件:f(x)在x=x0处有任意阶导...

  • 线性化_泰勒级数_Linearization

网友评论

      本文标题:比尔盖茨汇编实现泰勒级数

      本文链接:https://www.haomeiwen.com/subject/vmzbfrtx.html