# # 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