最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 14:41:40
文档

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

Python查找函数f(x)=0根的解决方法:本文实例讲述了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 bracke
推荐度:
导读Python查找函数f(x)=0根的解决方法:本文实例讲述了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 bracke


本文实例讲述了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查找函数f(x)=0根的解决方法

Python查找函数f(x)=0根的解决方法:本文实例讲述了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 bracke
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top