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中zip()函数用法实例教程
Jul 31 Python
python判断给定的字符串是否是有效日期的方法
May 13 Python
python OpenCV学习笔记实现二维直方图
Feb 08 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
Feb 13 Python
Flask教程之重定向与错误处理实例分析
Aug 01 Python
Django错误:TypeError at / 'bool' object is not callable解决
Aug 16 Python
python使用celery实现异步任务执行的例子
Aug 28 Python
python实现根据文件格式分类
Oct 31 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python3操作MongoDB增册改查等方法详解
Feb 10 Python
Python中remove漏删和索引越界问题的解决
Mar 18 Python
python实现的web监控系统
Apr 27 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
用 PHP5 轻松解析 XML
2006/12/04 PHP
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
Javascript 闭包详解及实例代码
2016/11/30 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
基于vue 实现token验证的实例代码
2017/12/14 Javascript
原生JS写Ajax的请求函数功能
2017/12/22 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
微信小程序中换行空格(多个空格)写法详解
2018/07/10 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
JS实现瀑布流效果
2020/03/07 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
在vant中使用时间选择器和popup弹出层的操作
2020/11/04 Javascript
[47:53]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#2COL VS Spirit
2016/03/02 DOTA
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python实现bucket排序算法实例分析
2015/05/04 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
python打印异常信息的两种实现方式
2019/12/24 Python
Pytorch中实现只导入部分模型参数的方式
2020/01/02 Python
Python实现鼠标自动在屏幕上随机移动功能
2020/03/14 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
英国翻新电子产品购物网站:Tech Trade
2017/12/25 全球购物
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
篮球兴趣小组活动总结
2014/07/07 职场文书
党的群众路线教育实践活动对照检查剖析材料
2014/10/09 职场文书
2016七夕情人节感言
2015/12/09 职场文书
听课评课活动心得体会
2016/01/15 职场文书
Python源码解析之List
2021/05/21 Python