ImportError: No module named error
ImportError: No module named error
在 Python 第 2 版的工程数值方法中,作者:Jaan Kiusalaas,我编写了与第 146 页相同的模块,该模块使用二分法计算根 f(x) = 0 :
from math import log,ceil
import error
def bisection2(f,x1,x2,switch=0,tol=1.0e-9):
f1 = f(x1)
if f1 == 0.0: return x1
f2 = f(x2)
if f2 == 0.0: return x2
if f1*f2 > 0.0: error.err('Root is not bracketed')
n = ceil(log(abs(x2 - x1)/epsilon)/log(2.0))
for i in range(n):
x3 = 0.5*(x1 + x2); f3 = f(x3)
if (switch == 1) and (abs(f3) > abs(f1)) \
(abs(f3) > abs(f2)):
return None
if f3 == 0.0:return x3
if f2*f3 < 0.0:
x1 = x3; f1 = f3
else:
x2 = x3; f2 = f3
return (x1 + x2)/2.0
我遇到了以下错误:
ImportError Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where)
173 else:
174 filename = fname
--> 175 builtin.execfile(filename, *where)
/home/uwhpsc/Desktop/bisection2/bisection2.py in ()
1 from math import log,ceil
----> 2 import error
3
4 def bisection2(f,x1,x2,switch=0,tol=1.0e-9):
5 f1 = f(x1)
ImportError: No module named error
任何人都可以告诉我如何解决这个问题吗?
要使此代码有效,您可以删除以下行:
import error
并在上面写着:
if f1*f2 > 0.0: error.err('Root is not bracketed')
将其更改为:
if f1*f2 > 0.0: quit('Root is not bracketed')
在 Python 第 2 版的工程数值方法中,作者:Jaan Kiusalaas,我编写了与第 146 页相同的模块,该模块使用二分法计算根 f(x) = 0 :
from math import log,ceil
import error
def bisection2(f,x1,x2,switch=0,tol=1.0e-9):
f1 = f(x1)
if f1 == 0.0: return x1
f2 = f(x2)
if f2 == 0.0: return x2
if f1*f2 > 0.0: error.err('Root is not bracketed')
n = ceil(log(abs(x2 - x1)/epsilon)/log(2.0))
for i in range(n):
x3 = 0.5*(x1 + x2); f3 = f(x3)
if (switch == 1) and (abs(f3) > abs(f1)) \
(abs(f3) > abs(f2)):
return None
if f3 == 0.0:return x3
if f2*f3 < 0.0:
x1 = x3; f1 = f3
else:
x2 = x3; f2 = f3
return (x1 + x2)/2.0
我遇到了以下错误:
ImportError Traceback (most recent call last) /usr/lib/python2.7/dist-packages/IPython/utils/py3compat.pyc in execfile(fname, *where) 173 else: 174 filename = fname --> 175 builtin.execfile(filename, *where)
/home/uwhpsc/Desktop/bisection2/bisection2.py in () 1 from math import log,ceil ----> 2 import error 3 4 def bisection2(f,x1,x2,switch=0,tol=1.0e-9): 5 f1 = f(x1)
ImportError: No module named error
任何人都可以告诉我如何解决这个问题吗?
要使此代码有效,您可以删除以下行:
import error
并在上面写着:
if f1*f2 > 0.0: error.err('Root is not bracketed')
将其更改为:
if f1*f2 > 0.0: quit('Root is not bracketed')