我们有一组特定的方程,其解高度依赖于输入猜测。如果我们使用详细的给定in the docs,它会显示大量的额外信息。我们只想要误差,或者更准确地说是剩余量。我们如何获得这些信息
例如,考虑下面的代码片段:
import mpmath as mp
def f(x):
return [#some function of x]
y = mp.findroot(f, x0 = [1 + 1j])
print(y)
如果我们运行代码,我们会得到以下错误: 在给定的公差范围内找不到根。(0.037331322157222662107>;2.16840434497100886801e-19) 尝试另一个起点或调整参数。(与上述代码不同,实际代码有更多的变量)
现在,我们可以通过设置参数verify=False来消除此警告,如给定的in the docs
在这种情况下,我们确实得到了输出值,但这不是确切的输出,它有一些与之相关的错误/剩余
现在,如果我们建立一个循环并输入各种各样的起始猜测x0,我们可以得到相应y的数组作为输出。但是,我们是否也可以获得mp.findroot解算器中提交的与每个y对应的错误/剩余
例如,如果有这样的东西就好了
z = mp.findroot.error(f, x0)
因此,对于每个猜测x0,我们可以得到相应的y和z,这将允许我们从所有初始猜测中选择最佳猜测(即产生最小剩余的猜测)
有没有办法找到这个留数的显式值,并将其存储在变量中
我认为在python中不可能做到这一点,但是如果您想要同样的方法,可以尝试在Matlab中使用函数句柄来实现这一点
这里x是值,fval是值中的错误
相关问题 更多 >
编程相关推荐