嵌套函数的 Gnuplot 拟合

标签 gnuplot model-fitting

gnuplot 中拟合函数的正确方法是什么 f(x)有下一个表格吗?

f(x) = A*exp(x - B*f(x))

我尝试使用以下方法将其拟合为任何其他函数:
fit f(x) "data.txt" via A,B 

输出只是一句话:“stack overflow

我什至不知道如何寻找这个主题,所以任何帮助将不胜感激。

这种函数是如何调用的?嵌套?递归?隐含的?

谢谢

最佳答案

这不仅无法进行拟合,也无法进行绘图。您必须写下 f(x) 的显式形式,否则 gnuplot 将循环它,直到达到其递归限制。一种方法是使用不同的名称:

f(x) = sin(x) # for example
g(x) = A*exp(x - B*f(x))

现在使用 g(x) 来拟合,而不是 f(x)。如果您从未声明过 f(x),则 gnuplot 没有可用的表达式。无论如何,如果你想递归定义一个函数,你至少需要设置一个递归限制。也许是这样的:
f0(x) = x
f1(x) = A*exp(x - B*f0(x))
f2(x) = A*exp(x - B*f1(x))
f3(x) = A*exp(x - B*f2(x))
...

这可以自动循环:
limit=10
f0(x) = x
do for [i=1:limit] {
j=i-1
eval "f".i."(x) = A*exp(x - B*f".j."(x))"
}

使用上面的表达式,您可以使用 limit 设置递归限制多变的。在任何情况下,它都应保持为有限数。

关于嵌套函数的 Gnuplot 拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25172048/

相关文章:

plot - 如何将 gnuplot 实时数据图作为实时图形观看,并自动更新?

r - 为什么 do(lm...) 和 geom_smooth(method ="lm") 之间有区别?

r - 比较逻辑模型时的方差分析函数没有偏差的 p 值

gnuplot - 如何在Gnuplot中将线图设置为多个图的默认样式?

gnuplot - 终端 png 中的\Sqrt{x} 增强

linux - 时间 fmt 的 gnuplot 图不起作用

gnuplot - 如何绘制可变箭头和可变颜色?

r - `freeParam` 拟合正常 copula 时出错 [R]

python - pymc3 条件确定性似然函数