-1
私は、提供された関数の根を見つけるために一般的な二分法を書いていますが、私はそれを二次関数を解くために呼びたいと思います。ここに私のgeneralroot.pyPythonの関数を解くために二分法の根フィリング関数とcalingitを呼び出す
# generalroot.py
# determines the root of any general function
def root_bisection(f, a, b, tolerance=1.0e-6):
dx = abs(b-a)
while dx > tolerance:
x = (a+b)/2.0
if (f(a)*f(x)) < 0:
b = x
else:
a = x
dx = abs(b-a)
return
だ今私は
from math import *
from generalroot import *
def function(y):
y = y**2 + 5*x - 9
return y
func = root_bisection(y, 0, 1)
print 'Found f(x) =0 at x = %0.8f +/- %0.8f' % (func , tolerance)
二次関数を解決するために、それを呼び出していますと、次のエラーを取得しています:
raceback (most recent call last):
File "quadfrombisectionroot.py", line 8, in <module>
func = root_bisection (y , 0, 1)
NameError: name 'y' is not defined
私はエラーを修正する助けてください、ありがとう
'y'は定義されていませんが、引数' y'で 'root_bisection'を呼び出しています。正確にエラーメッセージがあなたに伝えていること... –