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安装Imaging报错:The _imaging C module is not installed问题解决方法
Aug 22 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python2 与python3的print区别小结
Jan 16 Python
Python函数参数操作详解
Aug 03 Python
python 执行文件时额外参数获取的实例
Dec 18 Python
解决nohup执行python程序log文件写入不及时的问题
Jan 14 Python
Python格式化字符串f-string概览(小结)
Jun 18 Python
python3下pygame如何实现显示中文
Jan 11 Python
python字符串下标与切片及使用方法
Feb 13 Python
python实现发送带附件的邮件代码分享
Sep 22 Python
Python模拟登录requests.Session应用详解
Nov 17 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
Smarty+QUICKFORM小小演示
2007/02/25 PHP
PHP操作FTP类 (上传、下载、移动、创建等)
2016/03/31 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
PHP7扩展开发教程之Hello World实现方法示例
2017/08/03 PHP
PHP的PDO连接讲解
2019/01/24 PHP
JavaScript For Beginners(转载)
2007/01/05 Javascript
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
js使用栈来实现10进制转8进制与取除数及余数
2014/06/11 Javascript
javascript检查浏览器是否支持flash的实现代码
2014/08/14 Javascript
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
js生成随机数的过程解析
2015/11/24 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
2016/05/16 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
ptyhon实现sitemap生成示例
2014/03/30 Python
python 爬取微信文章
2016/01/30 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
Araks官网:纽约内衣品牌
2020/10/15 全球购物
物业管理公司实习生自我鉴定
2013/09/19 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
土木工程求职信
2014/05/29 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
小学德育工作总结2015
2015/05/12 职场文书
卫生主题班会
2015/08/14 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
2016年妇联“6﹒26国际禁毒日”宣传活动总结
2016/04/05 职场文书
pdf论文中python画的图Type 3 fonts字体不兼容的解决方案
2021/04/24 Python