数学知识忘地太快,在博客记录一下pi的生成。

  • 100 Decimal places

    • 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
  • Approximations
    • 22/7 3 decimal places (used by Egyptians around 1000BC)
    • 666/212 4 decimal places
    • 355/113 6 decimal places
    • 104348/33215 8 decimal places
  • Series Expansions
    • English mathematician John Wallis in 1655.

         4 * 4 * 6 * 6 * 8 * 8 * 10 * 10 * 12 * 12 .....

    pi = 8 * -------------------------------------------------

         3 * 3 * 5 * 5 * 7 * 7 * 9 * 9 * 11 * 11 ....

    • Scottish mathematician and astronomer James Gregory in 1671

    pi = 4 * (1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ....)

    • Swiss mathematician Leonard Euler.

    pi = sqrt(12 - (12/22) + (12/32) - (12/42) + (12/52) .... )        …… (1)

    pi = sqrt[6 * ( 1/1^2 + 1/2^2 + 1/3^2 + 1/4^2 + ...)]     …… (2)

下面则试证一下 Gregory’s Series

1. Taylor series

\begin{equation}\label{E1}
f\left( x \right) = \sum\limits_{n = 0}^\infty {\frac{{ { f^{\left( n \right)}}\left( a \right)}}{{n!}}} {\left( {x - a}\right)^n}
\end{equation}

2. Maclaurin series

\begin{equation}\label{E2}
f\left( x \right) = \sum\limits_{n = 0}^\infty {\frac{ f^{\left( n \right)}\left( 0 \right) }{n!} } { x^n }
\end{equation}

3. arctan(x)一阶导数

\begin{align*}
&y = f \left( x \right) = \arctan \left( x \right) \\
&x = tan \left( y \right)
\end{align*}
\begin{align*}
\Longrightarrow dx &= \sec^{2}y * dy \\
f^{ \prime }{ \left( x \right) }&= { \frac {dx}{dy} } = {\frac{1}{ x^{2}+1 } }
\end{align*}

4. 推导过程

(1).y=arctan(x)的n阶导可以用下面的方法求得:

\begin{align*}
\because &\arctan \left( x \right) = \int \nolimits_0^x \frac{1}{ 1+t^{2} } \,dt \\
&\frac{1}{1+x^{2} } = \frac{1}{2}( \frac{1}{1-ix} + \frac{1}{1+ix} ) \\
\therefore &\arctan \left( x \right) = \frac{1}{2}i \left[ \ln (1-ix) -\ln (1+ix) \right]
\end{align*}

(2).若按原始方法,得先记住分数函数的求导方式:

$$ \left( \frac { f \left( x \right) } { g \left( x \right)} \right)^{\prime} = \frac { { f^{ \prime } \left( x \right) } { g \left( x \right) } - { f \left( x \right) } { g^{ \prime } \left( x \right) } } { g^{2} \left( x \right) } $$

(3).f(x)的n阶导数

\begin{align*}
& f ^{\left( 1 \right)}\left( x \right) = {\frac{1}{ x^{2}+1 } } \\
& f ^{\left( 2 \right)}\left( x \right) = {\frac{-2x}{ \left(x^{2}+1\right)^{2} } } \\
& f ^{\left( 3 \right)}\left( x \right) = {\frac{2\left( 3x^{2}-1 \right) }{ \left(x^{2}+1\right)^{3} } } \\
& f ^{\left( 4 \right)}\left( x \right) = {\frac{-24x\left(x^{2}-1\right) }{ \left(x^{2}+1\right)^{4} } } \\
& f ^{\left( 5 \right)}\left( x \right) = {\frac{24\left(5x^{4}-10x^{2}+1\right) }{ \left(x^{2}+1\right)^{5} } } \\
& ...\\
& f ^{\left( n \right)}\left( x \right) = \frac {1}{2} (-1)^{n} i \left[ (-i+x)^{-n}-(i+x)^{-n} \right] (n-1)! \\
& ...\\ 
\end{align*}

(4).f(x) Taylor Series Expansion 的系数

\begin{align*}
k_{1} &= \frac{ f ^{\left( 1 \right)}\left( 0 \right) } { 1! } = 1\\
k_{2} &= \frac{ f ^{\left( 2 \right)}\left( 0 \right) } { 2! } = 0\\
k_{3} &= \frac{ f ^{\left( 3 \right)}\left( 0 \right) } { 3! } = \frac {-1}{3}\\
k_{4} &= \frac{ f ^{\left( 4 \right)}\left( 0 \right) } { 4! } = 0\\
k_{5} &= \frac{ f ^{\left( 5 \right)}\left( 0 \right) } { 5! } = \frac {1}{5}\\
& ...\\
\end{align*}

5. get the conclusion, Maclaurin Series.

『Gregory's series』 or 『Leibniz's series』

\begin{align*}
\because \arctan \left( x \right) &= \sum \limits_{n=0}^{\infty} (-1)^{n} { \frac{1}{2n+1} } x^{2n+1} \\
&= x - \frac{1}{3}x^{3} + \frac{1}{5}x^{5} - \frac{1}{7}x^{7} + ...\\
\therefore \arctan \left( 1 \right) &= 1-\frac{1}{3} + \frac{1}{5} - \frac{1}{7} + \frac{1}{9} -\frac{1}{11}+... =\frac{ \pi }{4}
\end{align*}

[Math]Pi(1)的更多相关文章

  1. [Math]Pi(2)

    [Math]Pi(2) 接着前一篇,[Math]Pi(1),下面继续介绍Leonard Euler求Pi的第二个公式. 其实这个公式也是来源一个古老的问题,Basel problem . 证法1.麦克 ...

  2. 【转载】 C#使用Math.PI常量来表示圆周率

    在C#中计算圆形面积的时候,我们时常会用到圆周率这个变量,圆周率我们一般定义为十进制decimal类型变量,圆周率的值为3.1415926535等一个近似值,其实在C#的数值计算类Math类中,有专门 ...

  3. java中常用到的math方法(Math.PI、Math.random()、Math.abs(double)、Math.floor(double)、Math.ceil(double)、Math.round(double))

    public class MathDemo { public static void main(String args[]){ /** * abs求绝对值 */ System.out.println( ...

  4. JavaScript Math和Number对象

    目录 1. Math 对象:数学对象,提供对数据的数学计算.如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 2. Number 对象 :Js中提供数字的对象.包含整数.浮 ...

  5. Java学习笔记-Math类

    并非所有的类都需要main方法.Math类和JOptionPane类都没有main方法.这些类中所包含的方法主要是为了供其他类使用. package welcome; public class Tes ...

  6. JS学习笔记10之Math对象

    -->Math对象 常用属性和方法-->使用Math对象制作相应的效果 Math对象用于执行数学任务 一.Math对象的属性: 二.Math对象的方法: 三.常用属性和方法: Math.P ...

  7. 常用API——Math对象型、Number型

    Math.abs(num) : 返回num的绝对值 Math.acos(num) : 返回num的反余弦值 Math.asin(num) : 返回num的反正弦值 Math.atan(num) : 返 ...

  8. HTML 学习笔记 JavaScript (Math和Number对象)

    标签: Math对象:数学对象,提供对数据的数学计算.如:获取绝对值,向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. Number对象:Js中提供的数字的对象.包含整数,浮点数等等.并提 ...

  9. js入门篇之Math对象

    Math对象用于执行数学任务 Math对象的属性: Math对象的方法: 常用属性和方法: Math.PI ----------------返回圆周率3.14 ... Math.ceil(x) --- ...

随机推荐

  1. lua5.3中luaL_setfunc设置upvalue的用法示例

    缘起 luaL_setfuncs 这个函数可以注册c函数到lua,另外还可以设置闭包函数使用的变量upvalue. 我没有用过,在 云风的skynet 才第一次见过,于是写个例子实际使用以下. 函数原 ...

  2. log4j2按日志级别输出到指定文件

    在项目中,可能会产生非常多的日志记录,为了方便日志分析,一般可以将日志按级别输出到指定文件,本次就先说说log4j2的实现吧: 1.先加入log4j2依赖包 2.写一个java类进行测试,类文件中仅仅 ...

  3. 第九篇:Spark SQL 源码分析之 In-Memory Columnar Storage源码分析之 cache table

    /** Spark SQL源码分析系列文章*/ Spark SQL 可以将数据缓存到内存中,我们可以见到的通过调用cache table tableName即可将一张表缓存到内存中,来极大的提高查询效 ...

  4. RK61 Keyboard Use

    ~ 打法: FN+shift+Esc / ? Alt Files Ctral   <=> 上 下 左 右 打法:FN+shift 切换 解锁键盘 打法:FN+win 蓝牙连接 打法:FN+ ...

  5. js打乱数组的实战应用

    文章首发于: https://www.xiabingbao.com/post/javascript/js-random-array.html 在js中,能把数组随机打乱的方法有很多,每个方法都有自己的 ...

  6. chengdongyue的笔记

    ---------------------------------------- Linux 基础 --------------------------------1.Linux的诞生 1.unix两 ...

  7. 设计模式---工厂方法C++实现

    工厂方法C++实现 1描述 定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类 2类图描述 3代码实现: class Product { protected: ...

  8. HDU 4815 概率dp,背包

    Little Tiger vs. Deep Monkey Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K ( ...

  9. 简单的HelloWorld

    简单的HelloWorld 步骤: -加入jar包 -在web.xml中配置DispatcherServlet -加入Spring MVC的配置文件 新建文件springmvc.xml: -编写处理请 ...

  10. express中的错误处理

    错误处理 定义错误处理中间件和定义其他中间件一样,除了需要 4 个参数,而不是 3 个,其格式如下 (err, req, res, next).例如: app.use(function(err, re ...