Python查找函数f(x)=0根的解决方法,python0根
Python查找函数f(x)=0根的解决方法,python0根
本文实例讲述了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使用range函数计算一组数和的方法,pythonrange
- python中while循环语句用法简单实例,pythonwhile
- python中for语句简单遍历数据的方法,python语句
- python简单的函数定义和用法实例,python函数实例
- python自定义类并使用的方法,python自定义类并
- python查询sqlite数据表的方法,pythonsqlite
- python实现在sqlite动态创建表的方法,pythonsqlite
- python操作sqlite的CRUD实例分析,sqlitecrud实例分析
- python通过ftplib登录到ftp服务器的方法,pythonftplib
- python使用smtplib模块通过gmail实现邮件发送的方法,pyt
评论关闭