#
# uspk04.rb
#
# $Id: uspk04.rb,v 1.1 2000/11/22 14:36:02 keiko Exp $
#
require "narray"
require "numru/dcl"
include NumRu
include Math
n = 200
m = 5
x = NArray.sfloat(n)
y0 = NArray.sfloat(n)
y1 = NArray.sfloat(n)
y2 = NArray.sfloat(n)
a = NArray.sfloat(m)
#-----------------------------------------------------------------------
dt = 1.0/(n-1)
for j in 0..m-1
jj = j*2+1.0
a[j] = (-1.0)**(j+1.0) *2.0/(jj*PI)
end
x = x.indgen * dt
for i in 0..n-1
t = dt*i*2*PI
y2[i] = 0.0
for j in 0..m-1
jj = j*2+1
yy = a[j]*cos(jj*t)
y2[i] = y2[i] + yy
end
y1[i] = a[0]*cos(t)
if (t < PI/2.0 || t >= PI*3.0/2.0)
y0[i] = -0.5
else
y0[i] = 0.5
end
end
#-----------------------------------------------------------------------
iws = (ARGV[0] || (puts ' WORKSTATION ID (I) ? ;'; DCL::sgpwsn; gets)).to_i
DCL::gropn iws
DCL::grfrm
DCL::usspnt(x, y1)
DCL::usspnt(x, y2)
DCL::uuslni(5)
DCL::usgrph(x, y0)
DCL::uulinz(x, y1, 3, 1)
DCL::uulinz(x, y2, 2, 2)
DCL::grcls
syntax highlighted by Code2HTML, v. 0.9.1