Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gnuplot-由于复数(未定义值),函数拟合失败_Gnuplot_Curve Fitting_Data Fitting_Function Fitting - Fatal编程技术网

gnuplot-由于复数(未定义值),函数拟合失败

gnuplot-由于复数(未定义值),函数拟合失败,gnuplot,curve-fitting,data-fitting,function-fitting,Gnuplot,Curve Fitting,Data Fitting,Function Fitting,我使用gnuplot来拟合一些数据,但是我注意到有时我的函数无法拟合。我认为这是由于取负数的平方根而产生的未定义值。(我的理解是gnuplot fit无法处理复数。) 我正在使用一个循环来批处理所有数据文件,这个问题导致脚本中止 我不介意它不能适应函数,但是脚本不应该中止,因为这使得整个批处理过程毫无意义,因为它在几百个数据文件中的第5个文件上失败 我已经启用了设置fit quiet,但这似乎并不能解决问题 如何强制gnuplot继续尝试适应下一个数据文件,即使其中一个适应失败 作为参考,我所拟

我使用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一次,那么它应该可以工作。这会降低处理速度,但应该可以工作。