欢迎来到山村网

Python查找函数f(x)=0根的解决方法

2019-03-02 12:28:43浏览:236 来源:山村网   
核心摘要:  这篇文章主要介绍了Python查找函数f(x)=0根的解决方法,涉及Python数学运算函数求解的相关技巧,需要的朋友可以参考下  ? 12

  这篇文章主要介绍了Python查找函数f(x)=0根的解决方法,涉及Python数学运算函数求解的相关技巧,需要的朋友可以参考下

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ''' 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简单的函数定义和用法实例

上一篇:

怎么选择合适的嵌入式设计软件?

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com