bash:将预存变量加载到gnuplot cmd load

bash:将预存变量加载到gnuplot cmd load,bash,gnuplot,Bash,Gnuplot,我的目的是在for cycle中加载变量i——我希望它在这个周期中可用。当前状态是gnuplot将vari作为字符串而不是var从第一个echo加载 SPEED=5 echo "plot '< head -n \"\$((SPEED*i))\" `echo ${INFILE}`' using 1:3 ;">> file.plt for ((i=1;i<="$FRAMES";i++)) do

我的目的是在for cycle中加载变量
i
——我希望它在这个周期中可用。当前状态是gnuplot将var
i
作为字符串而不是var从第一个echo加载

SPEED=5

echo "plot '< head -n \"\$((SPEED*i))\" `echo ${INFILE}`' using 1:3 ;">> file.plt

for ((i=1;i<="$FRAMES";i++))                                     
do      
    echo  " 
        load '`echo ${file.plt}`';  
        " | gnuplot
done
速度=5
使用1:3;“>>file.plt”回显“绘图”对于((i=1;i我认为您可能可以直接在gnuplot中完成所有这些

if(! exists("N")) N=0
FRAMES=10
FILE='myfile.plt'
SPEED=5
f(i)=sprintf("< head -n %d ".FILE,i+SPEED)
plot f(N) using 1:3
if(N < FRAMES) N=N+1
if(N < FRAMES) reread

`echo${infle}`
`echo${infle}`
中使用
echo
是否有必要?为什么不将变量本身合并?不清楚您要查找的是什么-
i
是循环迭代变量。这与乘法中的
i
相同(
SPEED*i
)?是的,我想用loopgnuplot rocks中的
I
值乘以
I
来替换
I!谢谢分享。@gnuplot 4.3+中也有绘图迭代,但我认为这会产生不同的结果(将所有绘图放在同一个图形上),而不是将每个绘图放在各自的图形中。
do for [N=1:10]{
   FILE='myfile.plt'
   SPEED=5
   f(i)=sprintf("< head -n %d ".FILE,i+SPEED)
   plot f(N) using 1:3
NPT=N+SPEED
plot FILE every ::::NPT using 1:3