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

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

import numpy as np
import matplotlib.pyplot as plt
'''
牛顿迭代法实现 y =(x-2)**3的解
'''
def f(x):
return (x-2)**3
def fd(x):
return 3*((x-2)**2)
def newtonMethod(n,assum):
time = n
x = assum
next = 0
a = f(x)
b = fd(x)
print('a = '+str(a)+',b = '+str(b)+',time = '+str(time))
if f(x) == 0.0:
return time,x
else:
next = x-a/b
print('next x = '+str(next))
if a - f(next)<1e-6:
print('meet f(x) = 0 , x = '+ str(next)) ##设置跳出条件,同时输出满足f(x) = 0 的x的值
else:
return newtonMethod(n+1,next) newtonMethod(0,4.0)
C:\ProgramData\Anaconda3\python.exe D:/python/TensorFlow/算法实例/牛顿迭代法.py
a = 8.0,b = 12.0,time = 0
next x = 3.3333333333333335
a = 2.370370370370371,b = 5.333333333333334,time = 1
next x = 2.888888888888889
a = 0.7023319615912207,b = 2.3703703703703702,time = 2
next x = 2.5925925925925926
a = 0.20809835898999132,b = 1.0534979423868311,time = 3
next x = 2.3950617283950617
a = 0.0616587730340715,b = 0.4682213077274805,time = 4
next x = 2.263374485596708
a = 0.018269266084169365,b = 0.20809835898999157,time = 5
next x = 2.1755829903978054
a = 0.005413115876790937,b = 0.09248815955110752,time = 6
next x = 2.11705532693187
a = 0.001603886185715827,b = 0.04110584868938101,time = 7
next x = 2.078036884621247
a = 0.0004752255365083959,b = 0.01826926608416941,time = 8
next x = 2.052024589747498
a = 0.00014080756637285685,b = 0.008119673815186359,time = 9
next x = 2.034683059831665
a = 4.17207604067724e-05,b = 0.0036087439178606037,time = 10
next x = 2.023122039887777
a = 1.2361706787192059e-05,b = 0.0016038861857158443,time = 11
next x = 2.015414693258518
a = 3.662727936945795e-06,b = 0.0007128383047625975,time = 12
next x = 2.0102764621723455
a = 1.0852527220580603e-06,b = 0.00031681702433894134,time = 13
next x = 2.0068509747815635
meet f(x) = 0 , x = 2.0068509747815635 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. Webpack4、iView、Vue开发环境的搭建

    导读 项目使用了 yarn ,一个快速.可靠.安全的依赖管理工具.yarn 是一个类似于npm的包管理工具,它是由 facebook 推出并开源,它在速度,离线模式,版本控制的方面具有独到的优势.此项 ...

  2. vue中如何实时修改输入的值

    vue中如何实时修改输入的值 经常看到需要对用户输入的值进行实时修改,有时是需要修改为指定的展示内容,有时候是用来校验,禁止用户输入非法数据,总之是一个常见的需求吧,只是自己一直没有特意去关注.思来想 ...

  3. 07-js数据类型

    # JavaScript 基本数据类型 typeof函数获取一个变量的类型: ```angularjs* boolean - 如果变量是 Boolean 类型的* number - 如果变量是 Num ...

  4. Linux终端复用工具tmux的使用和配置

    1. 会话管理 新建会话 $ tmux new -s session-one -d -s:指定回话名称 -d:会话在后台运行 查看所有会话 $ tmux ls session-one: 1 windo ...

  5. python学习笔记(7)文件的访问与函数式编程

    一.文件读写的3中方法 1.直接读入 fiel1=open('test.txt') file2=open('output.txt') while True: line=file1.readLine() ...

  6. Vue 实现一个分页组件

    实现分页组件要分三个部分 样式,逻辑,和引用 首先新建一个vue文件用来承载组件内容 第一步:构建样式 <template> <nav> <ul class=" ...

  7. django之配置文件setting.py

    一:配置文件setting.py中的简单配置更改 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 简单解释 ...

  8. 对eventloop的研究

    javasctipt是一门单线程的非阻塞的脚本语言,单线程意味着,JavaScript 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务. JavaScript ...

  9. git怎样删除未监视的文件untracked files ?

    git怎样删除未监视的文件untracked files 需要添加到.gitignore文件 # 删除 untracked files git clean -f # 连 untracked 的目录也一 ...

  10. 9:关于Maven工程的文件标识(定义java文件源码,资源文件)