牛顿迭代法求开方

  1. 牛顿迭代法



    作用: 求f(x) = 0 的解

    方法:假设任意一点 x0, 求切线与x轴交点坐标x1, 再求切线与x轴交点坐标x2,一直重复,直到f(xn) 与0的差距在一个极小的范围内

  2. 牛顿迭代法为什么收敛

    这里的f(x) = x^2 - a^2

    如果当前点是x,那么下一个点就是 x2 = (x^2 -a^2)/2x

    1) 假设解为a, 如果x>a, 则 x-x2 = (x + a^2/x)/2 , 因为a>0, 所以x必然大于x2

    2) 假设x<a, 从图上容易得出,此时f(x)<0, 下一个点也就是x2会大于a, 然后就会进入上边的1)开始不断逼近解。

  3. 我们来看看收敛的充分条件:

    若 二阶可导,那么在待求的零点 周围存在一个区域,只要起始点 位于这个邻近区域内,那么牛顿-拉弗森方法必定收敛。

    也就是说,在这个区域内,用切线代替曲线这个直觉是合理的。

    但是,因为我们不知道根点到底在哪里,所以起始点 选择就不一定在这个区域内,那么这个直觉就不可靠了。

    还有很多找不到解的情况,比如离解越来越远或者驻点,具体参考原文:https://blog.csdn.net/ccnt_2012/article/details/81837154

  4. 实现代码

    # 牛顿迭代求开方:
    def extract(x):
    print('#=======%s========' % str(x))
    y = 1.0
    while(abs(x-y**2) > 0.00001):
    y = (y+x/y)/2
    print(y)
    extract(0.01)
    extract(16)
    extract(256) #=======0.01========
    0.505
    0.2624009900990099
    0.15025530119986813
    0.10840434673026925
    0.10032578510960605
    0.10000052895642693
    #=======16========
    8.5
    5.1911764705882355
    4.136664722546242
    4.002257524798522
    4.000000636692939
    #=======256========
    128.5
    65.24610894941634
    34.58485728656987
    20.993470372021676
    16.59386909154118
    16.010626831390027
    16.00000352670594
    16.00000000000039

很多个n的平方分之一 求和

1+1/2²+1/3²+···+1/n²= 2

H (调和数)

n

1+1/2²+1/3²+···+1/n²+···=π^2/6

证明:可以参见黎曼zeta函数.

一个有意思的推导是欧拉给出的

考虑Sin(x)/x

泰勒展开后有 sin(x)/x = 1 - x^2/3!+ .

另外,sin(x)/x 在x = n Pi 的时候有零点.我们假设可以用这些零点来表示sin(x)/x 那么有

sin(x)/x = (1-x/Pi)(1+x/Pi)(1-x/(2Pi))(1+x/(2Pi)...

(成立因为左边有右边的零点必须相同)

也就等于 (1-x2/Pi2)(1-x2/(4Pi2)).

展开上面的连积,然后取x^2项目的系数有

-(1/Pi2+1/(4Pi2)+1/(9Pi^2)+.) = - 1/Pi^2 (1+1/4+1/9+...1/n^2)

这个既然是x^2项目的系数,自然应该等于 1/3!= 1/6.

所以得到

1+1/4+1/9+.= Pi^2/6.

或者:

函数f(x)=-x,-π

数学相关比较 牛顿迭代法求开方 很多个n的平方分之一的更多相关文章

  1. 【清橙A1094】【牛顿迭代法】牛顿迭代法求方程的根

    问题描述 给定三次函数f(x)=ax3+bx2+cx+d的4个系数a,b,c,d,以及一个数z,请用牛顿迭代法求出函数f(x)=0在z附近的根,并给出迭代所需要次数. 牛顿迭代法的原理如下(参考下图) ...

  2. 141. Sqrt(x)【牛顿迭代法求平方根 by java】

    Description Implement int sqrt(int x). Compute and return the square root of x. Example sqrt(3) = 1 ...

  3. 蓝桥杯 C/C++参考题目 开平方(数学题,迭代法求开方)

    开平方 如果没有计算器,我们如何求2的平方根?可以先猜测一个数,比如1.5,然后用2除以这个数字.如果我们猜对了,则除法的结果必然与我们猜测的数字相同.我们猜测的越准确,除法的结果与猜测的数字就越接近 ...

  4. YTU 2405: C语言习题 牛顿迭代法求根

    2405: C语言习题 牛顿迭代法求根 时间限制: 1 Sec  内存限制: 128 MB 提交: 562  解决: 317 题目描述 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b ...

  5. C语言之基本算法11—牛顿迭代法求平方根

    //迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...

  6. 【Java例题】4.4使用牛顿迭代法求方程的解

    4. 使用牛顿迭代法求方程的解:x^3-2x-5=0区间为[2,3]这里的"^"表示乘方. package chapter4; public class demo4 { publi ...

  7. 牛顿迭代法--求任意数的开n次方

    牛顿迭代法是求开n次方近似解的一种方法,本文参考. 引言 假如\(x^n = m\),我们需要求x的近似值. 我们设\(f(x) = x^n - m\), 那么也就是求该函数f(x)=0时与x轴的交点 ...

  8. C语言之基本算法25—牛顿迭代法求方程近似根

    //牛顿迭代法! /* ============================================================ 题目:用牛顿迭代法求解3*x*x*x-2*x*x-16 ...

  9. 牛顿迭代法求n方根

    一.简单推导 二.使用 借助上述公式,理论上可以求任意次方根,假设要求a(假设非负)的n次方根,则有xn=a,令f(x)=xn-a,则只需求f(x)=0时x的值即可.由上述简单推导知,当f(x)=0时 ...

随机推荐

  1. Sqlserver复杂查询

    --联表修改 update xyzrb set xyzrb.xy_card=tablsb.card from xyzrb left join tablsb on xyzrb.xybh=tablsb.x ...

  2. 【mac】配置sublime开发C

    1.sublime text3,Tools/Build System/New Build system创建一个新配置文件. {"cmd": ["gcc", &q ...

  3. EF 关键字

    https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/query-keywords 子句 说明 from ...

  4. strlen、strcpy和strcmp源码

    1.不使用库函数实现strcpy #include <assert.h> char *strcpy(char *dst, const char *src) { assert((dst != ...

  5. Codeforce 1182B Plus from Picture

    题目链接:http://codeforces.com/problemset/problem/1182/B 题意:检查图中 * 形成的是否是唯一的十字. 思路:dfs找到十字的中心,反向消除十字,最后检 ...

  6. Java随机访问文件

    使用随机访问文件,我们可以从文件读取以及写入文件.使用文件输入和输出流的读取和写入是顺序过程.使用随机访问文件,可以在文件中的任何位置读取或写入.RandomAccessFile类的一个对象可以进行随 ...

  7. C# WinForm 第一个项目控件使用心得

    1.控件心得 1.1 基础控件 panel 作用:布局 难点:重绘边框改变颜色 重绘panel里如果有fill填充控件 panle的padding要改个值 private void pnlPaintB ...

  8. 42-Ubuntu-用户管理-07-修改权限命令介绍

    修改文件权限 序号 命令 作用 01 chown 修改文件/目录拥有者 02 chgrp 修改文件/目录所在主组 03 chmod 修改文件/目录权限   chmod   chown chgrp   ...

  9. XX Russia Team Open, High School Programming Contest St Petersburg, Barnaul, Tbilisi, Almaty, Kremenchug, November 30, 2019

    ContestLink easy: AFI medium-easy: BDH medium: CGKL ???: EJ A. Attractive Flowers 签到. B. Blocking th ...

  10. c# 使用NOPI 操作Excel

    最近项目需要导出Excel,找来找去,微软有自己的Excel组件 using Microsoft.Office.Core;using Microsoft.Office.Interop.Excel;,但 ...