Python查找函数f(x)=0根的解决方法
本文实例讲述了Python查找函数f(x)=0根的解决方法。分享给大家供大家参考。具体实现方法如下:
'''root=ridder(f,a,b,tol=1.0e-9).
Findsarootoff(x)=0withRidder'smethod.
Therootmustbebracketedin(a,b).
'''
importerror
frommathimportsqrt
defridder(f,a,b,tol=1.0e-9):
fa=f(a)
iffa==0.0:returna
fb=f(b)
iffb==0.0:returnb
iffa*fb>0.0:error.err('Rootisnotbracketed')
foriinrange(30):
#ComputetheimprovedrootxfromRidder'sformula
c=0.5*(a+b);fc=f(c)
s=sqrt(fc**2-fa*fb)
ifs==0.0:returnNone
dx=(c-a)*fc/s
if(fa-fb)<0.0:dx=-dx
x=c+dx;fx=f(x)
#Testforconvergence
ifi>0:
ifabs(x-xOld)<tol*max(abs(x),1.0):returnx
xOld=x
#Re-brackettherootastightlyaspossible
iffc*fx>0.0:
iffa*fx<0.0:b=x;fb=fx
else:a=x;fa=fx
else:
a=c;b=x;fa=fc;fb=fx
returnNone
print'Toomanyiterations'
希望本文所述对大家的Python程序设计有所帮助。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短