2008年2月2日土曜日

ニュートン法

学生時代にポケットコンピュータのBASICで組んだやつを見つけて、Pythonで書いてみた。なつかし。
#coding: utf8

print "「ax^2+bx+c=0」の解をニュートン法により求める"
a = float(input('a= '))
b = float(input('b= '))
c = float(input('c= '))

x = 1
n = 0

while 1:
f = a*x*x+b*x+c
df= a*x+b
xn = x-f/df
if(abs((x-xn)/x)<1e-10):
print "解はx=",xn
break
else: x=xn

n+=1
if n>1e5:
print "解なし"
break

0 件のコメント: