示例#1
0
	elif re.match(r'^nR=', arg): nR = int  (arg[3:])
	elif re.match(r'^nt=', arg): nt = int  (arg[3:])
	elif re.match(r'^X0=', arg): X0 = float(arg[3:])
	elif re.match(r'^Y0=', arg): Y0 = float(arg[3:])
	elif re.match(r'^XT=', arg): XT = float(arg[3:])
	elif re.match(r'^YT=', arg): YT = float(arg[3:])

	else: usage()

dt = T / nt

ts  = brownian.get_t_series(nt, dt)

BtXs = sackmat_m.make_zero_matrix(nR, nt)
BtYs = sackmat_m.make_zero_matrix(nR, nt)
Xts  = sackmat_m.make_zero_matrix(nR, nt)
Yts  = sackmat_m.make_zero_matrix(nR, nt)
for i in xrange(0, nR):
	brownian.get_BM_series(BtXs[i], dt)
	brownian.get_BM_series(BtYs[i], dt)
	brownian.get_BB_series_from_BM(Xts[i], BtXs[i], X0, XT, dt)
	brownian.get_BB_series_from_BM(Yts[i], BtYs[i], Y0, YT, dt)

# ----------------------------------------------------------------
# Print time-series data.

for i in xrange(0, nt):
	for j in xrange(0, nR):
		print ' %11.7f %11.7f' % (Xts[j][i], Yts[j][i]),
	print
示例#2
0
    elif re.match(r'^nR=', arg): nR = int(arg[3:])
    elif re.match(r'^nt=', arg): nt = int(arg[3:])
    elif re.match(r'^X0=', arg): X0 = float(arg[3:])
    elif re.match(r'^Y0=', arg): Y0 = float(arg[3:])
    elif re.match(r'^XT=', arg): XT = float(arg[3:])
    elif re.match(r'^YT=', arg): YT = float(arg[3:])

    else: usage()

dt = T / nt

ts = brownian.get_t_series(nt, dt)

BtXs = sackmat_m.make_zero_matrix(nR, nt)
BtYs = sackmat_m.make_zero_matrix(nR, nt)
Xts = sackmat_m.make_zero_matrix(nR, nt)
Yts = sackmat_m.make_zero_matrix(nR, nt)
for i in xrange(0, nR):
    brownian.get_BM_series(BtXs[i], dt)
    brownian.get_BM_series(BtYs[i], dt)
    brownian.get_BB_series_from_BM(Xts[i], BtXs[i], X0, XT, dt)
    brownian.get_BB_series_from_BM(Yts[i], BtYs[i], Y0, YT, dt)

# ----------------------------------------------------------------
# Print time-series data.

for i in xrange(0, nt):
    for j in xrange(0, nR):
        print ' %11.7f %11.7f' % (Xts[j][i], Yts[j][i]),
    print
示例#3
0
if (s < 0) or (s >= T):
	print >> sys.stderr, 's = %11.7f is outside (0, T = %11.7f).' & (s, T)
	sys.exit(1)
if (t < 0) or (t >= T):
	print >> sys.stderr, 't = %11.7f is outside (0, T = %11.7f).' & (t, T)
	sys.exit(1)

dt = T / nt

ts  = brownian.get_t_series(nt, dt)

if   which_process == 'bm':
	Bts = sackmat_m.make_zero_matrix(nX, nt)
	for i in xrange(0, nX):
		brownian.get_BM_series(Bts[i], dt)
	values = Bts
elif which_process == 'bbbm':
	Bts = sackmat_m.make_zero_matrix(nX, nt)
	Xts = sackmat_m.make_zero_matrix(nX, nt)
	for i in xrange(0, nX):
		brownian.get_BM_series(Bts[i], dt)
		brownian.get_BB_series_from_BM(Xts[i], Bts[i], X0, XT, dt)
	values = Xts
elif which_process == 'bbsde':
	Yts = sackmat_m.make_zero_matrix(nX, nt)
	for i in xrange(0, nX):
		brownian.get_BB_series_from_SDE(Yts[i], X0, XT, dt)
	values = Yts

if   which_process == 'bm':    values = Bts