如何存储特定输入猜测的mpmath.findroot的错误/剩余值?

2024-07-05 10:01:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我们有一组特定的方程,其解高度依赖于输入猜测。如果我们使用详细的给定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,这将允许我们从所有初始猜测中选择最佳猜测(即产生最小剩余的猜测)

有没有办法找到这个留数的显式值,并将其存储在变量中


Tags: the代码inimport信息docs参数高度
1条回答
网友
1楼 · 发布于 2024-07-05 10:01:00

我认为在python中不可能做到这一点,但是如果您想要同样的方法,可以尝试在Matlab中使用函数句柄来实现这一点

fun = @(x) exp(-exp(-x)) - x; % function
x0 = [0 1]; % initial interval
options = optimset('Display','final'); % show final answer
[x fval exitflag output] = fzero(fun,x0,options)

这里x是值,fval是值中的错误

相关问题 更多 >