-
Notifications
You must be signed in to change notification settings - Fork 0
/
34.2_k12105862_k1238053_k01455994_k12043388.py
75 lines (60 loc) · 1.65 KB
/
34.2_k12105862_k1238053_k01455994_k12043388.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
72
73
74
75
# %%
"""
@ authors:
Autor: Helmut Joaquín Pfeffer
Matr.Nr.: k12105862
Autor: Rainer Grobauer
Matr.Nr.: k1238053
Autor: Hannes Maislinger
Matr.Nr.: k01455994
Autor: Zinedin Puškar
Matr.Nr.: k12043388
Aufgabe 34.2 der Aufgabensammlung
"""
import matplotlib.pyplot as plt
from sympy import symbols, Sum, factorial, oo
from sympy import init_printing, pprint
init_printing(pretty_print=True)
"""
Definition der Reihen und Symbole
"""
(k, n) = symbols('k n')
a_n = Sum(1 / k, (k, 1, n))
b_n = Sum(2**k / factorial(k), (k, 1, n))
c_n = Sum((k**2 + 1) / k**4, (k, 1, n))
d_n = Sum((-1)**k*(k+1) / 2**k, (k, 1, n))
"""
Überprüfung auf Konvergenz/Divergenz
"""
for serie in [a_n, b_n, c_n, d_n]:
if serie.is_convergent():
# pprint("Die Reihe {} konvergiert gegen {}.".format(serie, serie.doit()))
pprint("Die Reihe ")
pprint(serie)
pprint(" konvergiert gegen ")
pprint(serie.subs(n, oo).doit())
else:
# pprint("Die Reihe {} ist divergent.".format(serie))
pprint("Die Reihe ")
pprint(serie)
pprint("ist divergent.")
pprint("------------------")
"""
Darstellung der ersten 20 Partialsummen
"""
i = 1
valA = []
valB = []
valC = []
valD = []
while i < 21:
valA.append(a_n.subs(n, i).doit())
valB.append(b_n.subs(n, i).doit())
valC.append(c_n.subs(n, i).doit())
valD.append(d_n.subs(n, i).doit())
i += 1
pA = plt.plot(range(1, 21), valA, 'bo', label='a_n')
pB = plt.plot(range(1, 21), valB, 'ro', label='b_n')
pC = plt.plot(range(1, 21), valC, 'go', label='c_n')
pD = plt.plot(range(1, 21), valD, 'yo', label='d_n')
plt.legend(loc=4, ncol=2)