#
# sgpk03.rb
#
# $Id: sgpk03.rb,v 1.1 2000/11/21 03:02:07 keiko Exp $
#
require "narray"
require "numru/dcl"
include NumRu
include NMath
n = 41
x = NArray.sfloat(n)
y = NArray.sfloat(n)
#-- data ---
dt = 4.0* 3.14159 / (n-1)
x = x.indgen * (1.0/(n-1))
y = y.indgen * dt
y = sin(y) * 0.15
#-- graph ---
iws = (ARGV[0] || (puts ' WORKSTATION ID (I) ? ;'; DCL::sgpwsn; gets)).to_i
DCL::sgopn iws
#----------------------------- page 1 ---------------------------------
DCL::sgfrm
DCL::sgswnd(0.0, 1.0, -0.8, 0.2)
DCL::sgsvpt(0.15, 0.85, 0.1, 0.9)
DCL::sgstrn(1)
DCL::sgstrf
DCL::slpvpr(1)
DCL::sgplu(x, y) # <-- 1本目
DCL::sgswnd(0.0, 1.0, -0.7, 0.3)
DCL::sgstrf
DCL::sgspli(2) # <-- line index 設定
DCL::sgplu(x, y) # <-- 2本目
DCL::sgswnd(0.0, 1.0, -0.6, 0.4)
DCL::sgstrf
DCL::sgspli(3) # <-- line index 設定
DCL::sgplu(x, y) # <-- 3本目
DCL::sgswnd(0.0, 1.0, -0.4, 0.6)
DCL::sgstrf
DCL::sgsplt(2) # <--linetype設定(破線)
DCL::sgplu(x, y) # <-- 4本目
DCL::sgswnd(0.0, 1.0, -0.3, 0.7)
DCL::sgstrf
DCL::sgsplt(3) # <--linetype設定(点線)
DCL::sgplu(x, y) # <-- 5本目
DCL::sgswnd(0.0, 1.0, -0.2, 0.8)
DCL::sgstrf
DCL::sgsplt(4) # <--linetype設定(一点鎖線)
DCL::sgplu(x, y) # <-- 6本目
#----------------------------- page 2 ---------------------------------
DCL::sgfrm
DCL::sgswnd(0.0, 1.0, -0.8, 0.2)
DCL::sgsvpt(0.15, 0.85, 0.1, 0.9)
DCL::sgstrn(1)
DCL::sgstrf
DCL::slpvpr(1)
DCL::sgrset('bitlen', 0.006) # <-- サイクル長の変更
DCL::sgsplt(4)
DCL::sgplu(x, y) # <-- 1本目
DCL::sgswnd(0.0, 1.0, -0.6, 0.4)
DCL::sgstrf
DCL::sgspli(2)
itype = '0b1111111100100100'.oct # <-- パターン生成
DCL::sgsplt(itype) # <-- パターン設定
DCL::sgplu(x, y) # <-- 2本目
DCL::sgswnd(0.0, 1.0, -0.4, 0.6)
DCL::sgstrf
DCL::sgiset('NBITS', 32)
itype = '0b10010010011111000111110001111100'.oct - ("0b1" + "0"*32).oct
DCL::sgsplt(itype)
DCL::sgplu(x, y)
DCL::sgswnd(0.0, 1.0, -0.2, 0.8)
DCL::sgstrf
DCL::sgspli(1)
DCL::sgsplt(1)
n1=n/4
y[n1-2] = 999.0 # <-- 欠損値
y[n1-1] = 999.0
y[n1 ] = 999.0
n2=n1*3
y[n2-2] = 999.0
y[n2 ] = 999.0
DCL::gllset('LMISS', true)
DCL::sgplu(x, y) # <-- 4本目
DCL::sgcls
syntax highlighted by Code2HTML, v. 0.9.1