-3
def sqrt(a):
    def tryit(x):
        return 0.5 * (a/x + x)
    return fixedPoint(tryit(x), 0.0001)
4

2 回答 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 回答