1

私の意図は、変数iをサイクルにロードすることです-このサイクルで使用できるようにしたいです。現在の状態は、gnuplot がi最初のエコーから var を var ではなく文字列としてロードすることです。

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
4

1 に答える 1

2

おそらくこれらすべてを 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

Gnuplot 4.6 ではこれがさらに簡単になります:

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

}


を使用する代わりに、おそらくデータファイル修飾子headを使用できます(詳細については)。以下のようなことを考えています。everyhelp every

NPT=N+SPEED
plot FILE every ::::NPT using 1:3
于 2012-05-10T13:03:08.543 に答える