Python查找函数f(x)=0根的解决方法


Posted in Python onMay 07, 2015

本文实例讲述了Python查找函数f(x)=0根的解决方法。分享给大家供大家参考。具体实现方法如下:

''' root = ridder(f,a,b,tol=1.0e-9).
  Finds a root of f(x) = 0 with Ridder's method.
  The root must be bracketed in (a,b).
'''
import error
from math import sqrt
def ridder(f,a,b,tol=1.0e-9):  
  fa = f(a)
  if fa == 0.0: return a
  fb = f(b)
  if fb == 0.0: return b
  if fa*fb > 0.0: error.err('Root is not bracketed')
  for i in range(30):
   # Compute the improved root x from Ridder's formula
    c = 0.5*(a + b); fc = f(c)
    s = sqrt(fc**2 - fa*fb)
    if s == 0.0: return None
    dx = (c - a)*fc/s
    if (fa - fb) < 0.0: dx = -dx
    x = c + dx; fx = f(x)
   # Test for convergence
    if i > 0:
      if abs(x - xOld) < tol*max(abs(x),1.0): return x
    xOld = x
   # Re-bracket the root as tightly as possible
    if fc*fx > 0.0:
      if fa*fx < 0.0: b = x; fb = fx
      else:      a = x; fa = fx
    else:
      a = c; b = x; fa = fc; fb = fx
  return None
  print 'Too many iterations'

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Python与人工神经网络:使用神经网络识别手写图像介绍
Dec 19 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 Python
基于python plotly交互式图表大全
Dec 07 Python
利用Vscode进行Python开发环境配置的步骤
Jun 22 Python
python中@property的作用和getter setter的解释
Dec 22 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 Python
CocosCreator ScrollView优化系列之分帧加载
Apr 14 Python
使用pandas模块实现数据的标准化操作
May 14 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
python基础之函数的定义和调用
Oct 24 Python
python计算对角线有理函数插值的方法
May 07 #Python
python计算方程式根的方法
May 07 #Python
python计算牛顿迭代多项式实例分析
May 07 #Python
用C++封装MySQL的API的教程
May 06 #Python
使用wxPython获取系统剪贴板中的数据的教程
May 06 #Python
用Python遍历C盘dll文件的方法
May 06 #Python
使用Python压缩和解压缩zip文件的教程
May 06 #Python
You might like
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JavaScript DSL 流畅接口(使用链式调用)实例
2015/03/15 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
js实现放大镜特效
2017/05/18 Javascript
angular+webpack2实战例子
2017/05/23 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
原生js调用json方法总结
2018/02/22 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
python函数装饰器用法实例详解
2015/06/04 Python
python中pandas.DataFrame排除特定行方法示例
2017/03/12 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
Python3实现转换Image图片格式
2018/06/21 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
python实现批量注册网站用户的示例
2019/02/22 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
Pytest mark使用实例及原理解析
2020/02/22 Python
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
html5 canvas实现给图片添加平铺水印
2019/08/20 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
外科实习自我鉴定
2013/10/06 职场文书
学生思想表现的评语
2014/01/30 职场文书
促销活动总结模板
2014/07/01 职场文书
招商引资工作汇报
2014/10/28 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
Python - 10行代码集2000张美女图
2021/05/23 Python