#navi(プログラミング演習I/18)

*gnuplot [#iaa8859a]
-Text 下巻P.224
**インストール [#xfe9e79d]
***AquaTerm [#pbcc8ffc]
Homebrewからインストール
 $ brew cask install aquaterm 
または,
-http://aquaterm.sourceforge.net/
--AquaTerm-1.1.1.dmgをインストール
***X11 [#o9424aed]
-http://xquartz.macosforge.org/landing/
-XQuartz-2.7.11.dmgをダウンロードしインストール
***Gnuplotのインストール [#c8a976af]
 % brew install gnuplot --with-aquaterm --with-x11 --pdf 
 
--aquatermをデフォルトのgnuplot出力ウィンドウするために,~
.bash, .zshrcの場合
 export GNUTERM=aqua
.tcshrcの場合
 setenv GNUTERM aqua
を追加しておくといいです.
---注
ほかに
 set terminal x11
 set terminal dumb
 set terminal jpeg
 set output "out.png"
などがあります.
//-もし,gnuplotでエラーの場合,
// sudo ln -s libreadline.6.2.dylib libreadline.6.0.dylib
**gnuplotとは [#m93abf50]
-gnuplotとは,対話的に2次元,もしくは3次元のグラフを描くアプリケーションです. グラフは,関数(x2やsin(x)など)の他に,実験データーなどの離散的な数値も 描くことができます.  
-また,CやBASIC,fortranなどの言語で使用できる式をそのまま入力でき,三角関数から ベッセル関数まで沢山の関数が用意されおり,さらに自分で関数の定義もできます. 
**gnuplotの起動と終了 [#a6faa9dc]
コマンドプロンプトが出ている状態で,
 % gnuplot
と入力するとgnuplotが起動します.
メッセージが表示された後プロンプトが 
 gnuplot>
に変わります. 
 gnuplot> help
とすることでヘルプを表示することができます.  
gnuplotを終了するには, 
 gnuplot> quit
 gnuplot> exit
のように,quitやexitと入力することで終了できます.
**グラフの描画 [#udd22fb3]
書式:
  plot {範囲} {<関数> | 
              {"<データファイル>" {using ...}}}
              {表題}{スタイル}
              {,<関数> {表題} {スタイル}...}
例
 gnuplot> plot x
 gnuplot> plot sin(x)
 gnuplot> plot x*x
や 
 gnuplot> plot "pulse.dat"
と,入力することで描画できます.  
~ここで,データファイルは,次のようにx,yの順で記録しておくか, 
 1  0.4988939
 2  0.4830083
 3  0.4121865
 4  0.3372366


連続したデータの場合は,最初のxの値を省略して, 
 0.4988939
 0.4830083
 0.4121865
 0.3372366
と記録しておく必要があります.  

ただし,デフォルトではデータを点で表示しますが,オプション指定することに     より,点と点とを繋いで折れ線グラフとして描画することができます. 
 gnuplot> plot "pulse.dat" with line

その他にも,linespoint,dots,boxesなど指定できます.  

またグラフの表示範囲を変更するには,plotの最初の引数で与えます. 
 gnuplot> plot [0:256]"pulse.dat" with line

-こうすると、xを0から256まで変化させた時のpulse.datのグラフが    描かれます.y軸の範囲を定めるには,x軸上の範囲の次に続けて書きます. 
  gnuplot> plot [0:256][-0.8:0.8]"pulse.dat" with line
また,対数グラフにしたいときは, 
 gnuplot> set logscale 軸名

x軸とy軸を両方対数スケールにする場合は, 
 gnuplot> set logscale xy

とします.
*例 [#n9d4797f]
test.gplot
 set terminal png
 set output "sample.png"
 set xrange [-2:2] 
 set yrange [-2:2] 
 set isosample 40,40 
 splot x*x*exp(-x*x)*y*y*exp(-y*y)

 $ gnuplot < test.gplot
*課題 [#id15ab87]
-次のシェルスクリプトをplot.shという名前で保存しなさい.
-numは,自分のアカウント名とすること.
-このスクリプトを実行すると,gnuplotより,数式グラフ画像が保存される.
 $ sh plot.sh

plot.sh

#code(bash){{
#!/bin/sh
num=e1857XX
echo "set terminal jpeg" > $num.gplot
echo "set output \"$num.jpeg\"" >> $num.gplot
echo "set xrange [-2:2]" >> $num.gplot
echo "set yrange [-2:2]" >> $num.gplot
echo "set isosample 40,40" >> $num.gplot
echo "splot x*x*exp(-x*x)*y*y*exp(-y*y)" >> $num.gplot
gnuplot < $num.gplot
}}
+上記スクリプトを引用し,各行説明しなさい.
+別なグラフを出力するよう上記スクリプトを改変しなさい.人と違ったグラフ(数式)を使うこと. (新スクリプトは,レポート内に書くこと.添付してはいけない.)

-レポートはPDF形式とし,ファイル名を"アカウント名_2.pdf"となさしなさい.
-ファイル名(例): e175701_2.pdf)
-レポートはPDF形式とし,ファイル名を"アカウント名.pdf"となさしなさい.
-ファイル名(例): e175701.pdf)
-提出先:Google Classroom
-締め切り:6月7日14:40
*すばらしいの解説ページ [#mff7ea0d]
-[[GNUPLOT本家:http://gnuplot.sourceforge.net/]]
-[[MacWiki gnuplot:http://macwiki.sourceforge.jp/wiki/index.php/gnuplot]]
//-[[GNUPLOT解説:http://www.ie.u-ryukyu.ac.jp/~j99061/work/software1/gnuplot/index.html]]
-[[グラフは Gnuplot にお任せ:http://ayapin-film.sakura.ne.jp/Gnuplot/gnuplot.html]]
-[[gnuplot のページ (Takeno Lab):http://takeno.iee.niit.ac.jp/%7Efoo/gp-jman/gp-jman.html]]
-[[GNUPLOTの第一歩(小栗栖さん@金沢大):http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/index-gnuplot.html]]
-[[Gnuplot not FAQ:http://folk.uio.no/hpl/scripting/doc/gnuplot/Kawano/]]
-[[GNUPLOT るさんちまん(大城さん@琉大):http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/gnuplot_primer/top.html]]


//-[[Dsuke:http://www.ie.u-ryukyu.ac.jp/~j99061/]]
//--[[X Applications on Mac OS X:http://www.ie.u-ryukyu.ac.jp/~j99061/work/software1/index.html]]
//--[[gnuplot:http://www.ie.u-ryukyu.ac.jp/~j99061/work/software1/gnuplot/index.html]]
//--[[Tgif:http://www.ie.u-ryukyu.ac.jp/~j99061/work/software1/tgif/index.html]]

#navi(プログラミング演習I/18)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS