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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python简明入门教程
Aug 04 Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
Django Web开发中django-debug-toolbar的配置以及使用
May 06 Python
彻彻底底地理解Python中的编码问题
Oct 15 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python3基于plotly模块保存图片表格
Aug 03 Python
Python 爬虫性能相关总结
Aug 03 Python
pandas中pd.groupby()的用法详解
Jun 16 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 开源框架22个简单简介
2009/08/24 PHP
php错误级别的设置方法
2013/06/17 PHP
php制作动态随机验证码
2015/02/12 PHP
PHP 观察者模式深入理解与应用分析
2019/09/25 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
Laravel 创建指定表 migrate的例子
2019/10/09 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
2016/10/24 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
JavaScript 栈的详解及实例代码
2017/01/22 Javascript
JavaScript数组迭代方法
2017/03/03 Javascript
Node.js使用MySQL连接池的方法实例
2018/02/11 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
Vue.js添加组件操作示例
2018/06/13 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
Hertz荷兰:荷兰和全球租车
2018/01/07 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
医院护士的求职信范文
2013/12/26 职场文书
2014年健康教育实施方案
2014/02/17 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
老人再婚离婚协议书范本
2014/10/27 职场文书
检讨书模板
2015/01/29 职场文书
素质拓展训练感想
2015/08/07 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书