gnuplotを用いてデータ処理(数値積分)します.
そしてshell scriptで複数のデータ処理を自動化したいのですが,gnuplotとshellで引数の書き方が同じ事による問題が起こりました.
data-100.xvg・・・data-400.xvgの中のデータを数値積分します.その時にgnuplotの操作でxvgファイルの一列目という意味で$1を使っています.
shの引数として$1を使いますが,このバッティングを解消するにはどうすれば良いでしょうか?
教えてください.
もしくは筋が悪いから他のやり方を使った方がよい,などでも教えて頂けると嬉しいです.(pythonを考えています)
#!/bin/bash function integral(){ gnuplot << EOF set terminal x11 set datafile commentschars "# @" plot lastx=0.0,lasty=0.0,integ = 0.0,\ "data-<shの引数>.xvg" using 1:2 , \ "data-<shの引数>.xvg" using 1:(dx=$1-lastx, \ integ = (integ+dx*($2+lasty)*0.5), \ lastx=$1, \ lasty=$2, \ integ) w p lw 0.1 title "integral" pause 1 #台形積分をし,integに値が入っています. set print set print "integral-<shの引数>.dat" append print "<shの引数> ",integ #integの値を他のファイルに出力します. EOF } ( set -e integral 100 integral 200 integral 300 integral 400 )
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。