Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/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:如何将eval与for循环一起使用_Gnuplot - Fatal编程技术网

Gnuplot:如何将eval与for循环一起使用

Gnuplot:如何将eval与for循环一起使用,gnuplot,Gnuplot,我有一个gnuplot脚本来绘制100个(x,y)格式的数据文件。现在我想对每组数据进行线性拟合,得到每组数据对应的m,b值。脚本在到达eval命令时崩溃。由于gnuplot4.4(我正在使用)不支持do-for语法,有谁能告诉我如何在for循环中正确使用eval?我的脚本如下: # template.gnuplot set terminal postscript enh color 24 plotfile = "graph.eps" set output plotfile filename(n

我有一个gnuplot脚本来绘制100个
(x,y)
格式的数据文件。现在我想对每组数据进行线性拟合,得到每组数据对应的
m,b
值。脚本在到达eval命令时崩溃。由于gnuplot4.4(我正在使用)不支持do-for语法,有谁能告诉我如何在for循环中正确使用eval?我的脚本如下:

# template.gnuplot
set terminal postscript enh color 24
plotfile = "graph.eps"
set output plotfile
filename(n) = sprintf("%d_mod.int", n)
plot for [i = 1:100] filename(i) u 1:2 title sprintf("%d", i) w lp
fstr(n) = sprintf('f%d(x) = m%d*x + b%d', n)
fitstr(n) = sprintf('fit ''%d_mod.int'' f%d(x) via m%d,b%d', n)
eval fstr(i) for [i = 1:100]
eval fitstr(i) for [i = 1:100]

没有升级的具体原因是什么?这将是最简单的。我已经升级到4.6,但是do-for命令只执行一次(而不是100次)。在循环结构中进行直线拟合的语法是什么?如果我没有弄错的话,那么这个问题与您得到的答案相同,对吗?如果是,请删除此问题?