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使用sorted函数对列表进行排序的方法
Apr 04 Python
Python程序中设置HTTP代理
Nov 06 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
详解python3中tkinter知识点
Jun 21 Python
python对list中的每个元素进行某种操作的方法
Jun 29 Python
浅谈Python3实现两个矩形的交并比(IoU)
Jan 18 Python
python实现ftp文件传输系统(案例分析)
Mar 20 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
Jun 06 Python
Python爬取股票信息,并可视化数据的示例
Sep 26 Python
解决python3输入的坑——input()
Dec 05 Python
详解Python为什么不用设计模式
Jun 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
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
尽可能写&quot;友好&quot;的&quot;Javascript&quot;代码
2007/01/09 Javascript
Three.js源码阅读笔记(光照部分)
2012/12/27 Javascript
使用jquery实现以post打开新窗口
2014/03/19 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
学习JavaScript设计模式之迭代器模式
2016/01/19 Javascript
基于jquery实现表格内容筛选功能实例解析
2016/05/09 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
Django框架中的对象列表视图使用示例
2015/07/21 Python
Python在不同目录下导入模块的实现方法
2017/10/27 Python
Python线程之定位与销毁的实现
2019/02/17 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
HTML5 Canvas入门学习教程
2016/03/17 HTML / CSS
泰海淘:泰国king Power王权免税集团旗下跨境海淘综合型电商
2020/07/26 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
Java的类与C++的类有什么不同
2014/01/18 面试题
写好自荐信的要点
2013/11/06 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
对公司合理化的建议书
2014/03/12 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
雷峰塔导游词
2015/02/09 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
教师节慰问信
2015/02/15 职场文书
2016中秋节广告语
2016/01/28 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js
Python基础之函数嵌套知识总结
2021/05/23 Python
CSS基础详解
2021/10/16 HTML / CSS
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python