def sqrt(a):
def tryit(x):
return 0.5 * (a/x + x)
return fixedPoint(tryit(x), 0.0001)
问问题
921 次
2 回答
0
有几个问题:
- 你在打电话
fixedPoint()
——那是什么?这是在其他地方定义的吗? - 您在
x
未定义的情况下使用该函数。 - 您正在调用 function
sqrt()
,但逻辑并不接近可以计算任何东西的平方根的东西。
至少有一个不雅点:
- 您正在定义一个嵌套函数 (
tryit()
)。这本身不是问题,但没有多大意义,并且您依赖于a
此处定义的局部变量,而不是将该变量传递给在模块级别定义的独立函数。不过,很难说这个函数应该做什么。 tryit()
不是一个好的函数名。
于 2012-11-03T06:47:49.013 回答
0
有关定点迭代的工作示例,请参阅使用定点迭代求解此方程。
当前问题中的代码拼写错误fixed_point
,这是一个需要从scipy.optimize
. 所需的参数fixed_point
包括一个函数和一个初始值;例如:
scipy.optimize.fixed_point(tryit, a/2)
于 2012-11-03T06:59:42.600 回答