美文网首页
微积分学习笔记-牛顿法及应用

微积分学习笔记-牛顿法及应用

作者: LonnieQ | 来源:发表于2019-11-24 23:42 被阅读0次

牛顿法

我们知道解线性方程和二次方程的简单公式及三次四次方程更为复杂的公式。然而对于大于4次的多项式方程不可能有类似的公式。这时候就需要微积分的数值方法来求解我们想要的根了。
牛顿法的解题步骤如下:

  1. 猜方程f(x) = 0 的解的第一个近似值。
  2. 确定递推公式x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)},并且迭代计算直到得到想要的精度。
    以下是一些牛顿法的应用。

求平方根

假设我们想求n的平方根。那么我们需要解方程x^2 = n
确定f(x) = x^2 - n, f'(x) = 2x.
步骤1. 估算方程的第一个近似值x_0 = \frac{n} {2}
步骤2. 估算x_0 = n / 2迭代计算x_{n+1} = x_{n} - \frac{f(x)}{f'(x)} = x_n - (\frac{x}{2} - \frac{n}{2x})
以下是C++的计算代码:

#include <iostream>
using namespace std;
double sqrt(double n, double precision = 10e-8) {
    double x =  max(n / 2, n), delta = 0;
    while ((delta = x / 2 - n / (2 * x)) > precision) x -= delta;
    return x;
}
int main(int argc, const char * argv[]) {
    for (int i = 0; i <= 10000; ++i) {
        cout << sqrt(i) << endl;
    }
    return 0;
}

求立方根

如果我们需要求n的立方根,那么这里的f(x) = x^3 - n, f'(x) = 3x^2, 我们需要计算递推公式x_{n+1} = x_n - \frac{f(x)}{f'(x)} = x_n - (\frac{x}{3} - \frac{n}{3x^2})。以下是C++的计算代码:

#include <iostream>
#include <math.h>
using namespace std;
double cubeRoot(double n, double precision = 10e-8) {
    double x =  max(n / 2, n), delta = 0;
    while ((delta = x / 3 - (n / 3) * pow(1 / x, 2)) > precision) x -= delta;
    return x;
}
int main(int argc, const char * argv[]) {
    for (int i = 0; i <= 10000; ++i) {
        cout << cubeRoot(i) << endl;
    }
    return 0;
}

计算\pi

这里我们利用公式tan(\pi) = 0来计算\pi的值。可以确定f(x) = tan(x), f'(x)=sec^2, 由于\pi的值大概是3.14,我们可以设定x_0 = 3, 递推公式为x_{n+1} = x_n - \frac{f(x)}{f'(x)} = x_n - tan(x)cos^2(x)
以下是C++的计算代码:

#include <iostream>
#include <math.h>
using namespace std;
double pi() {
    double x = 3;
    double delta = 0;
    while (abs(delta = tan(x) * pow(cos(x), 2)) > 10e-8) {
        x -= delta;
    }
    return x;
}
int main(int argc, const char * argv[]) {
    cout << pi() << endl;
    return 0;
}

相关文章

  • 微积分学习笔记-牛顿法及应用

    牛顿法 我们知道解线性方程和二次方程的简单公式及三次四次方程更为复杂的公式。然而对于大于4次的多项式方程不可能有类...

  • 牛顿是如何计算圆周率的(一)

    牛顿,微积分的奠基者之一。他称其发明为“流数法”。后来证明,本质上跟莱布尼兹发明的微积分是一样的。他在发明“流数法...

  • 2019-08-20牛顿发明微积分的手稿

    牛顿发明微积分的手稿

  • 【转】常见的几种最优化方法

    转自Poll 的笔记 阅读目录 梯度下降法(Gradient Descent) 牛顿法和拟牛顿法(Newton's...

  • Logistic回归(Logistic Regression)算

    本节不仅介绍了Logistic回归在sklearn中模型应用,还介绍了liblinear、牛顿法、拟牛顿法(DFP...

  • 人工智能的Pipeline

    二、人工智能的Pipeline 人工智能-基于数学框架的算法方法论 数学架构: 微积分——梯度下降、牛顿法——模型...

  • 八卦历史人物

    -01 相爱相杀 牛顿与莱布尼茨的关系是围绕微积分展开的。据说开始由于牛顿想不通微积分,所以写信问莱布尼茨,小莱就...

  • 局部搜索之牛顿法

    除了前面说的梯度下降法,牛顿法也是机器学习中用的比较多的一种优化算法。 牛顿法求方程解 牛顿法又称为牛顿-拉弗森方...

  • 常识混记

    1、牛顿和莱布尼茨都是最早创立微积分的人。17世纪,至少有10多位大数学家探索过微积分,而牛顿、莱布尼兹,则处于当...

  • 牛顿迭代法应用

    牛顿迭代法 使用 借助上述公式,理论上可以求任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)...

网友评论

      本文标题:微积分学习笔记-牛顿法及应用

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