File indexing completed on 2024-04-28 15:14:08

0001 #!/usr/bin/python
0002 
0003 import time
0004 from scipy.stats import norm
0005 import numpy as np
0006 
0007 LIVE_DATA = True
0008 LIVE_DATA_DEBUG = True
0009 
0010 fileName = "out.txt" # name of the output file
0011 sleepInterval = 1 # sleep interval in seconds
0012 itersTotal = 100000 # total number of iterations to compute
0013 iters = 1000 # number of iterations done before the results are written out to the file
0014 pathes = 2 # Number of pathes to compute
0015 delta = 0.25
0016 dt = 0.1
0017 
0018 
0019 # trajectories
0020 x = np.zeros(pathes)
0021 
0022 # Iterate to compute the steps of the Brownian motion.
0023 i = 0
0024 out = ""
0025 for k in range(itersTotal):
0026     if out != "":
0027         out += "\n"
0028 
0029     out += str(k*dt)
0030     for p in range(pathes):
0031         x[p] += norm.rvs(scale=delta**2*dt)
0032         out += "\t" + str(x[p])
0033 
0034     i += 1
0035 
0036     if LIVE_DATA and i >= iters:
0037         if LIVE_DATA_DEBUG:
0038             print (out)
0039         # generate header
0040         outh = "t"
0041         for p in range(pathes):
0042             outh += "\tx" + str(p+1)
0043 
0044         datafile = open(fileName, "w")
0045 
0046         datafile.write(outh)
0047         datafile.write('\n')
0048         datafile.write(out)
0049         datafile.close()
0050 
0051         out = ""
0052         i = 0
0053         time.sleep(sleepInterval)
0054 
0055 if LIVE_DATA and out != "":
0056     datafile = open(fileName, "a")
0057     datafile.write(out)
0058     datafile.close()
0059     if LIVE_DATA_DEBUG:
0060         print (out)
0061 
0062 if not LIVE_DATA:
0063     datafile = open(fileName, "a")
0064     datafile.write(out)