-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathz-approx.py
32 lines (25 loc) · 816 Bytes
/
z-approx.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import scipy.integrate
import csv
import math
import numpy
BIN_NUMBER = 12
SPACE_GROUPS = 100
def chi(x):
out = scipy.integrate.quad(lambda t: math.exp(-((t ** 2)/2)), 0, x)
return out[0]
output_file = open("bin_data.csv", "w")
fwriter = csv.writer(output_file)
row_1 = ["z-value", "Bin 1", "Bin 2", "Bin 3", "Bin 4", "Bin 5",
"Bin 6", "Bin 7", "Bin 8", "Bin 9", "Bin 10", "Bin 11",
"Bin 12"]
fwriter.writerow(row_1)
for z in numpy.linspace(0, 6, 12, endpoint=False):
Bins = [z]
if z == 0:
for i in range(1, BIN_NUMBER + 1):
Bins.append((SPACE_GROUPS * i) / BIN_NUMBER)
else:
for i in range(1, BIN_NUMBER + 1):
Bins.append(SPACE_GROUPS * ((chi((z * i) / BIN_NUMBER)) /
(chi(z))))
fwriter.writerow(Bins)