【问题标题】:How can i get the errors of each iteration using fsolve to determine the root of a polynomial?如何使用 fsolve 确定多项式的根来获得每次迭代的错误?
【发布时间】:2021-06-15 11:46:42
【问题描述】:

我希望使用 fsolve 函数从每次迭代中获得所有错误以获取根。更准确地说,我需要绘制一个误差图作为迭代的函数。

root = fsolve(build_function,start_value,xtol = tolerance,maxfev= max_interations)

【问题讨论】:

  • 只需在build_function 中记录参数和函数值。或者破解fsolve的代码来实现一个观察者工具。

标签: python list numpy matplotlib scipy


【解决方案1】:

我认为我建议的做法不是一个好习惯,但它确实有效。

您可以在“build_function”中定义一个全局变量,该变量将不断存储求解器每次迭代的变量值。

例如,您可以尝试这样的操作:

a = []

def func(x):
    global a
    a.append(x)
    return x**2 - 5 

x0 = 1500

resp = optimize.root(func, x0)

print(a)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-30
    • 2013-10-18
    • 2017-11-10
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多