2.1 基本操作

データ解析でも数値計算でも一刻も早く計算結果が見たいものですが, そんな 時, DCLを用いるとわずか数行でデータをグラフ化できます. 最初の例題とし て, リサジューの図形を描いてみましょう. FORTRAN プログラムは, 次の HOP です.

#
# hop.rb

require "narray"
require "numru/advanceddcl"

include NumRu::AdvancedDCL
include NMath

nmax = 400
dt = 2*PI/(nmax-1)

x = NArray.sfloat(nmax)
y = NArray.sfloat(nmax)

for n in 0..nmax-1
  t = dt*n
  x[n] = 1e2*sin(4*t)
  y[n] = 1e-3*cos(5*t)+6
end

Dev.open
Frame.new

Axis.title('X-TITLE', 'x-unit', 'Y-TITLE', 'y-unit')
Axis.draw(x,y)
Plot.draw(x,y)

Dev.close

PROGRAM HOP

UNIX システムで AdvancedDCL が標準的にインストールされている場合には,

% ruby hop.rb
によってウインドウがひとつ現れます. マウスクリックでウイ ンドウの位置を確定すると, 描画がはじまり下のようなグラフが得られます. このとき, 次の警告メッセージが出ると思いますが, 特に気にする必要はあり ません. 図形表示の終了はまたマウスクリックで行ないます.

*** WARNING (STSWTR) *** WORKSTATION VIEWPORT WAS MODIFIED.

一方, Dev.open のところで Dev.open("PS") とすると, カレントディレクトリに dcl.ps というポストス クリプトファイルができます. そこで,

% lpr dcl.ps
と入力すれば, ポストスクリプトプリンタに結果が出力されます. また, Dev.open("Tek")を指定するとテクトロ端末で描画ができます.




\resizebox{10cm}{!}{\includegraphics{hop/hop.eps}}
hop.rb: frame1