5.3 g(jΔy)

前節と同様に, y 方向に座標値が等間隔な場合にも, Y を指定するか わりに rundef を指定します. 次のプログラム U1D2 では, Fig.inclpoint, Mark.draw, Plot.draw の各メ ソッドで Y を未定義値と しています. ここでは Fig.inclpoint メソッドを使ってウインドウを決め, ビュー ポートの設定は初期値に頼ります. なお, 変換関数番号を 3として, 片対数座標にしています.

#
# u1d2.rb

require "narray"
require "numru/advanceddcl"

include NumRu::AdvancedDCL
include NMath

nmax = 50
ymin = 0.0
ymax = 50.0

x1 = NArray.sfloat(nmax+1)
x2 = NArray.sfloat(nmax+1)

#-- data ----
iseed = 0
for n in 0..nmax
  y = ymin + (ymax-ymin)*n/nmax
  x1[n] = 10.0*(exp(-y/20))**2 * exp((rand(iseed)-0.5)*2)**2
  x2[n] = 10.0*(exp(-y/20))**2
end

rundef = Common.rundef

#-- graph ----
Dev.open
Frame.new

Fig.window = [rundef, rundef, ymin, ymax]
Fig.inclpoint(x1, rundef)
Fig.inclpoint(x2, rundef)
Fig.transnum = 3

Axis.title('MIXING RATIO', 'ppmv', 'HEIGHT', 'km')
Axis.draw

Mark.marktype = 2
Mark.draw(x1, rundef)

Plot.draw(x2, rundef)

Dev.close

PROGRAM U1D2

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