スクリプトを reread することによって、簡単なアニメーションが実現出来ます。
偏微分方程式論で有名な熱方程式の基本解
 
 で数直線上の原点に単位熱量をおいて、
それ以降は熱伝導によって熱が流れて行った場合の、
時刻
 で数直線上の原点に単位熱量をおいて、
それ以降は熱伝導によって熱が流れて行った場合の、
時刻  , 場所
, 場所  における温度を表します。
 における温度を表します。
| anim.gp | 
| plot [-10:10] [0:1] u(x,t) t=t+dt if (t<Tmax) reread | 
| gnuplot> u(x,t)=exp(-x*x/(4*t))/sqrt(4*pi*t) gnuplot> t=0.1 gnuplot> Tmax=5 gnuplot> dt=0.01 gnuplot> load "anim.gp" | 
 から
 から  刻みで
 刻みで  まで、
 まで、
 のグラフが描けます。
 のグラフが描けます。
ここでは静止画で我慢。
(工夫すれば GIF アニメーションとか作れそうですね。 … set term gif animate として set output "なんとか.gif" とするだけでした。)
(2017/11/7 加筆) gnuplot ver 4.6 から、do for という新しい構文が導入されて、 それを使うと、次のように書ける。
| 
Tmax=5.0
Nmax=500
dt=Tmax/Nmax
u(x,t)=exp(-x*x/(4*t))/sqrt(4*pi*t)
do for [i=1:Nmax] {
   t=i*dt
   plot [-10:10] [0:1] u(x,t)
}
(最初 Tmax=5 としたら、
dt が 0 になってハマってしまった。) |