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 25 Python
Python实现备份文件实例
Sep 16 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
python for循环输入一个矩阵的实例
Nov 14 Python
python之cv2与图像的载入、显示和保存实例
Dec 05 Python
python算法题 链表反转详解
Jul 02 Python
python简单区块链模拟详解
Jul 03 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
Django一小时写出账号密码管理系统
Apr 29 Python
python实现简单聊天功能
Jul 07 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创建多级目录的方法
2015/03/24 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
artDialog 4.1.5 Dreamweaver代码提示/补全插件 附下载
2012/07/31 Javascript
Js实现滚动变色的文字效果
2014/06/16 Javascript
jquery超简单实现手风琴效果的方法
2015/06/05 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
实现easyui的datagrid导出为excel的示例代码
2016/11/10 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
[06:07]刀塔密之二:攻之吾命受之吾幸
2014/07/03 DOTA
django 创建过滤器的实例详解
2017/08/14 Python
Python实现扩展内置类型的方法分析
2017/10/16 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
python 实现矩阵上下/左右翻转,转置的示例
2019/01/23 Python
Python 2/3下处理cjk编码的zip文件的方法
2019/04/26 Python
Python 求数组局部最大值的实例
2019/11/26 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
Python正则表达式高级使用方法汇总
2020/06/18 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
软件测试面试题
2014/01/05 面试题
Java基础知识面试题
2014/03/25 面试题
2014新年寄语
2014/01/20 职场文书
日化店促销方案
2014/03/26 职场文书
《微笑着面对生活》优秀演讲稿范文
2014/09/23 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
环保证明
2015/06/23 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
React配置子路由的实现
2021/06/03 Javascript