gnuplot-由于复数(未定义值),函数拟合失败
我使用gnuplot来拟合一些数据,但是我注意到有时我的函数无法拟合。我认为这是由于取负数的平方根而产生的gnuplot-由于复数(未定义值),函数拟合失败,gnuplot,curve-fitting,data-fitting,function-fitting,Gnuplot,Curve Fitting,Data Fitting,Function Fitting,我使用gnuplot来拟合一些数据,但是我注意到有时我的函数无法拟合。我认为这是由于取负数的平方根而产生的未定义值。(我的理解是gnuplot fit无法处理复数。) 我正在使用一个循环来批处理所有数据文件,这个问题导致脚本中止 我不介意它不能适应函数,但是脚本不应该中止,因为这使得整个批处理过程毫无意义,因为它在几百个数据文件中的第5个文件上失败 我已经启用了设置fit quiet,但这似乎并不能解决问题 如何强制gnuplot继续尝试适应下一个数据文件,即使其中一个适应失败 作为参考,我所拟
未定义值。(我的理解是gnuplot fit无法处理复数。)
我正在使用一个循环来批处理所有数据文件,这个问题导致脚本中止
我不介意它不能适应函数,但是脚本不应该中止,因为这使得整个批处理过程毫无意义,因为它在几百个数据文件中的第5个文件上失败
我已经启用了设置fit quiet
,但这似乎并不能解决问题
如何强制gnuplot继续
尝试适应下一个数据文件,即使其中一个适应失败
作为参考,我所拟合的函数如下:(这不是代数上最简单的形式——这种形式用于避免被小数字除法。)
f(x)=(bc)/([c2.0]+c[b2.0-c**2.0]*exp(x/e))-其中b、c、e是拟合参数
因此,为了澄清-有时拟合“向拟合收敛,其中c为负”,这会导致底部平方根无法计算-这会中断包含fit命令的for循环-如何阻止拟合失败而中断循环?有一个关于处理此类错误的功能请求,请参阅[#382 Catch-fit errors]()。如果在gnuplot之外的bash中执行循环,并为每个文件调用gnuplot一次,那么它应该可以工作。这会使处理速度变慢,但应该可以工作。有一个关于处理此类错误的功能请求,请参阅[#382 Catch-fit errors]()。如果您在gnuplot之外的bash中进行循环,并为每个文件调用gnuplot一次,那么它应该可以工作。这会降低处理速度,但应该可以工作。