公式不便于在这里编辑,所以在word中编辑好了,截图过来。

用python+牛顿迭代法   求 y =(x-2)**3的解

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. '''
  4. 牛顿迭代法实现 y =(x-2)**3的解
  5. '''
  6. def f(x):
  7. return (x-2)**3
  8. def fd(x):
  9. return 3*((x-2)**2)
  10. def newtonMethod(n,assum):
  11. time = n
  12. x = assum
  13. next = 0
  14. a = f(x)
  15. b = fd(x)
  16. print('a = '+str(a)+',b = '+str(b)+',time = '+str(time))
  17. if f(x) == 0.0:
  18. return time,x
  19. else:
  20. next = x-a/b
  21. print('next x = '+str(next))
  22. if a - f(next)<1e-6:
  23. print('meet f(x) = 0 , x = '+ str(next)) ##设置跳出条件,同时输出满足f(x) = 0 的x的值
  24. else:
  25. return newtonMethod(n+1,next)
  26.  
  27. newtonMethod(0,4.0)
  1. C:\ProgramData\Anaconda3\python.exe D:/python/TensorFlow/算法实例/牛顿迭代法.py
  2. a = 8.0,b = 12.0,time = 0
  3. next x = 3.3333333333333335
  4. a = 2.370370370370371,b = 5.333333333333334,time = 1
  5. next x = 2.888888888888889
  6. a = 0.7023319615912207,b = 2.3703703703703702,time = 2
  7. next x = 2.5925925925925926
  8. a = 0.20809835898999132,b = 1.0534979423868311,time = 3
  9. next x = 2.3950617283950617
  10. a = 0.0616587730340715,b = 0.4682213077274805,time = 4
  11. next x = 2.263374485596708
  12. a = 0.018269266084169365,b = 0.20809835898999157,time = 5
  13. next x = 2.1755829903978054
  14. a = 0.005413115876790937,b = 0.09248815955110752,time = 6
  15. next x = 2.11705532693187
  16. a = 0.001603886185715827,b = 0.04110584868938101,time = 7
  17. next x = 2.078036884621247
  18. a = 0.0004752255365083959,b = 0.01826926608416941,time = 8
  19. next x = 2.052024589747498
  20. a = 0.00014080756637285685,b = 0.008119673815186359,time = 9
  21. next x = 2.034683059831665
  22. a = 4.17207604067724e-05,b = 0.0036087439178606037,time = 10
  23. next x = 2.023122039887777
  24. a = 1.2361706787192059e-05,b = 0.0016038861857158443,time = 11
  25. next x = 2.015414693258518
  26. a = 3.662727936945795e-06,b = 0.0007128383047625975,time = 12
  27. next x = 2.0102764621723455
  28. a = 1.0852527220580603e-06,b = 0.00031681702433894134,time = 13
  29. next x = 2.0068509747815635
  30. meet f(x) = 0 , x = 2.0068509747815635
  31.  
  32. Process finished with exit code 0

从运行的结果可以看出近似根x = 2.0068509747815635

牛顿迭代法理论推导及python代码实现的更多相关文章

  1. python 牛顿迭代法

    使用牛顿迭代法求方程  在x附近的一个实根. 赋值X,即迭代初值:用初值x代入方程中计算此时的f(x)=(a * x * x * x + b * x * x + c * x + d)和f’(x)=(3 ...

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

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

  3. 牛顿迭代法解指数方程(aX + e^x解 = b )

    高中好友突然问我一道这样的问题,似乎是因为他们专业要做一个计算器,其中的一道习题是要求计算器实现这样的功能. 整理一下要求:解aX + e^X = b 方程.解方程精度要求0.01,给定方程只有一解, ...

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

    牛顿迭代法求开方 牛顿迭代法 作用: 求f(x) = 0 的解 方法:假设任意一点 x0, 求切线与x轴交点坐标x1, 再求切线与x轴交点坐标x2,一直重复,直到f(xn) 与0的差距在一个极小的范围 ...

  5. 学习 27 门编程语言的长处,提升你的 Python 代码水平

    Python猫注:Python 语言诞生 30 年了,如今的发展势头可谓如火如荼,这很大程度上得益于其易学易用的优秀设计,而不可否认的是,Python 从其它语言中偷师了不少.本文作者是一名资深的核心 ...

  6. 一个 11 行 Python 代码实现的神经网络

    一个 11 行 Python 代码实现的神经网络 2015/12/02 · 实践项目 · 15 评论· 神经网络 分享到:18 本文由 伯乐在线 - 耶鲁怕冷 翻译,Namco 校稿.未经许可,禁止转 ...

  7. 如何让你的Python代码更加pythonic ?

    pythonic如果翻译成中文的话就是很python.很+名词结构的用法在中国不少. 以下为了简略,我们用P表示pythonic的写法,NP表示non-pythonic的写法,当然此P-NP非彼P-N ...

  8. 牛顿迭代法实现平方根函数sqrt

    转自利用牛顿迭代法自己写平方根函数sqrt 给定一个正数a,不用库函数求其平方根. 设其平方根为x,则有x2=a,即x2-a=0.设函数f(x)= x2-a,则可得图示红色的函数曲线.在曲线上任取一点 ...

  9. Python 代码实现模糊查询

    Python 代码实现模糊查询 1.导语: 模糊匹配可以算是现代编辑器(如 Eclipse 等各种 IDE)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列 ...

随机推荐

  1. SpringDataJPA使用

    一.简介 SpringDataJpa是 JPA规范的一个很好的实现,简化了开发的复杂度,极大提升了开发的效率.SpringDataJpa通过 Repository接口及子接口可以很方便的实现持久化操作 ...

  2. C#开发 WinForm如何在选项卡中集成加载多个窗体 实现窗体复用

    http://blog.csdn.net/upi2u/article/details/37914909 最近需要做的一个项目,为了避免从菜单中选择的麻烦,需要把几个窗体集成到一起,通过TabContr ...

  3. vue中的scope

    在vue文件中的style标签上,有一个特殊的属性:scoped. 当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素. 通过该属 ...

  4. CSS中如何设置父元素透明度不影响子元素透明度

    原因分析: 使用css的opcity属性改变某个元素的透明度,但是其元素下的子元素的透明度也会被改变,即便重定义也没有用,不过有个方法可以实现,大家可以看看. 可以使用一张透明的图片做背景可以达成效果 ...

  5. python os 常用命令

    转载:http://www.cnblogs.com/kaituorensheng/archive/2013/03/18/2965766.html python编程时,经常和文件.目录打交道,这是就离不 ...

  6. [AHOI2008]紧急集合 / 聚会(LCA)

    [AHOI2008]紧急集合 / 聚会 题目描述 欢乐岛上有个非常好玩的游戏,叫做"紧急集合".在岛上分散有N个等待点,有N-1条道路连接着它们,每一条道路都连接某两个等待点,且通 ...

  7. 随笔1 interface Map<K,V>

    第一次写笔记就从map开始吧,如上图所示,绿色的是interface,黄色的是abstract class,蓝色的是class,可以看出所有和图相关的接口,抽象类和类的起源都是interface ma ...

  8. ps:不规则选区

    尽管我们学会了如何添加减去或是交叉选区,但选取出来的选区还是比较规则,不是矩形就是圆形,这样的形状很难胜任在实际制作中的需要.现在我们就要学习如何建立一个任意形状的选区.建立任意选区的工具是套索工具. ...

  9. ps:矢量格式图像

    假设我们写了一首新的乐曲,要把它交给唱片公司,可以通过两种方式: 把这首乐曲弹奏出来并录制在磁带上. 把这首乐曲的乐谱写下来. 这两种方式的最大区别在于记录的形式. 前者是记述性的.包含乐曲的音频信息 ...

  10. sed \s

    export m1=`free|cut -d ":" -f2|sed -e "s/^\s\s*//g"|head -2|tail -1|cut -d ' ' - ...