-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTabbed Riemann.py
71 lines (49 loc) · 2.03 KB
/
Tabbed Riemann.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
def main():
interval = (0,5)
fx = [3, 5, 11, 12, 24, 36, 22, 15, 8, 4, 1]
n = 10
# changed by user
x_interval = [x for x in range(interval[0], interval[1]+1)]
x_interval_float = []
x_interval_float_exact = []
left_x_interval = []
right_x_interval = []
left_sums = []
right_sums = []
left_sum = 0
right_sum = 0
width = ((interval[1] - interval[0]) / n)
# generated through script
x_interval, left_x_interval, right_x_interval = interval_calc(x_interval, x_interval_float, x_interval_float_exact, left_x_interval, right_x_interval)
print('x Interval - {0}'.format(x_interval))
print('Left x Interval - {0}'.format(left_x_interval))
print('Right x Interval - {0}'.format(right_x_interval))
left_sum, right_sum = compute_sums(left_x_interval, right_x_interval, width, left_sum, right_sum, fx)
print('Left Sum - {0}'.format(left_sum))
print('Right Sum - {0}'.format(right_sum))
def interval_calc(x_interval, x_interval_float, x_interval_float_exact, left_x_interval, right_x_interval):
for i in range(len(x_interval)):
# finds the average interval for each val in x_interval
try:
x_interval_float.append((x_interval[i] + x_interval[i+1]) / 2)
except:
continue
x_interval = x_interval + x_interval_float
x_interval.sort()
for i in range(len(x_interval_float)):
# re-averages tuple values in interval_a
try:
x_interval_float_exact.append((x_interval_float[i] + x_interval_float[i+1]) / 2)
except:
continue
left_x_interval = [x for x in x_interval[:-1]]
right_x_interval = [x for x in x_interval[1:]]
return x_interval, left_x_interval, right_x_interval
def compute_sums(left_x_interval, right_x_interval, width, left_sum, right_sum, fx):
for i in range(len(left_x_interval)):
left_sum += fx[i] * width
for i in range(len(right_x_interval)):
right_sum += fx[i+1] * width
return left_sum, right_sum
main()
## EOF