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 相关文章推荐
探究数组排序提升Python程序的循环的运行效率的原因
Apr 01 Python
Perl中著名的Schwartzian转换问题解决实现
Jun 02 Python
Python新手入门最容易犯的错误总结
Apr 24 Python
老生常谈Python序列化和反序列化
Jun 28 Python
python中使用PIL制作并验证图片验证码
Mar 15 Python
Python3非对称加密算法RSA实例详解
Dec 06 Python
用Python逐行分析文件方法
Jan 28 Python
python移位运算的实现
Jul 15 Python
Python3 main函数使用sys.argv传入多个参数的实现
Dec 25 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
基于Python爬取素材网站音频文件
Oct 21 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
Jan 30 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
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
2011/07/13 Javascript
Js sort排序使用方法
2011/10/17 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
Js实现网页键盘控制翻页的方法
2014/10/30 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
原生js实现简单的模态框示例
2017/09/08 Javascript
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库教程
2014/11/18 Python
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
pandas使用apply多列生成一列数据的实例
2018/11/28 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
解决Keras 中加入lambda层无法正常载入模型问题
2020/06/16 Python
python能自学吗
2020/06/18 Python
matplotlib更改窗口图标的方法示例
2021/02/03 Python
HTML5 绘制图像(上)之:关于canvas元素引领下一代web页面的问题
2013/04/24 HTML / CSS
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
日本亚马逊官方网站:Amazon.co.jp
2020/04/14 全球购物
校园招聘策划书
2014/01/09 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
使用CSS实现六边形的图片效果
2022/08/05 HTML / CSS