gpt4 book ai didi

debugging - gnuplot 中的 Printf 调试

转载 作者:行者123 更新时间:2023-12-05 06:46:15 24 4
gpt4 key购买 nike

为了调试一个小的 gnuplot 脚本,我想在用户定义的函数中插入一个 printf,这样我就可以跟踪它接收和返回的值。

有办法吗?

例如,此函数在某些情况下(例如,当 n=100 时)返回 NaN:

eps_rf_i(n, i) = binom(n,i) * eps**i * (1-eps)**(n-i)
eps_rf(n) = sum[i=n/2 : n] eps_rf_i(n,i)

我试图在函数 eps_rf_i 中插入一个 printf,如下所示:

eps_rf_i(n, i) = ( print binom(n,i) * eps**i * (1-eps)**(n-i),  binom(n,i) * eps**i * (1-eps)**(n-i) )
eps_rf(n) = sum[i=n/2 : n] eps_rf_i(n,i)

但是 gnuplot 在 print 之后立即报告错误:

gnuplot> eps_rf_i(n, i) = ( print binom(n,i) * eps**i * (1-eps)**(n-i),  binom(n,i) * eps**i * (1-eps)**(n-i) )
^
"error_rate.plt", line 11: ')' expected

还有其他方法可以调试 eps_rf 吗?

我们将不胜感激所有提示和见解。

最佳答案

我无法测试你的脚本,它不工作,因为一些函数没有定义。

您不能在用户定义的函数中使用打印命令。但是您可以附加要打印的值。

value=""
eps_rf_i(n, i) = (value=value.sprintf("%f\n",binom(n,i) * eps**i * (1-eps)**(n-i)), binom(n,i) * eps**i * (1-eps)**(n-i) )
eps_rf(n) = sum[i=n/2 : n] eps_rf_i(n,i)

结果->

print eps_rf(10)

可以查看跟踪值

print value

谢谢,

关于debugging - gnuplot 中的 Printf 调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444630/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com