Compare commits
2 Commits
b1d6f6c522
...
b0f13399bb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0f13399bb | ||
|
|
fe8866f1df |
49
introduction/serie_2.py
Normal file
49
introduction/serie_2.py
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#%%
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
|
# %%
|
||||||
|
print("Aufgabe 4")
|
||||||
|
|
||||||
|
def fixpunkt_iteration(f, x=1.0, tol=1e-7, N=1000):
|
||||||
|
x_new = f(x)
|
||||||
|
i = 0
|
||||||
|
|
||||||
|
while(np.abs(x_new-x) > tol):
|
||||||
|
if i > N:
|
||||||
|
raise RuntimeError("Keine Konvergenz erreicht")
|
||||||
|
|
||||||
|
x = x_new
|
||||||
|
x_new = f(x)
|
||||||
|
i += 1
|
||||||
|
return [x_new, i]
|
||||||
|
|
||||||
|
# Ausgabe
|
||||||
|
print("----------------------------------------------------------------------")
|
||||||
|
print(__file__)
|
||||||
|
print("----------------------------------------------------------------------")
|
||||||
|
|
||||||
|
f = lambda x: 1-(1/5)*x
|
||||||
|
try:
|
||||||
|
fixpunkt_a, iterationen_a = fixpunkt_iteration(f)
|
||||||
|
except RuntimeError as error:
|
||||||
|
print(f"a) f(x) = 1-(1/5)*x\n{error}")
|
||||||
|
else:
|
||||||
|
print(f"a) f(x) = 1-(1/5)*x\nFixpunkt: {fixpunkt_a}\nIterationen: {iterationen_a}\n")
|
||||||
|
|
||||||
|
f = np.cos
|
||||||
|
try:
|
||||||
|
fixpunkt_b, iterationen_b = fixpunkt_iteration(f)
|
||||||
|
except RuntimeError as error:
|
||||||
|
print(f"b) f(x) = cos(x)\n{error}")
|
||||||
|
else:
|
||||||
|
print(f"b) f(x) = cos(x)\nFixpunkt: {fixpunkt_b}\nIterationen: {iterationen_b}\n")
|
||||||
|
|
||||||
|
f = lambda x: np.e**-x
|
||||||
|
try:
|
||||||
|
fixpunkt_c, iterationen_c = fixpunkt_iteration(f)
|
||||||
|
except RuntimeError as error:
|
||||||
|
print(f"c) f(x) = e⁻x\n{error}")
|
||||||
|
else:
|
||||||
|
print(f"c) f(x) = e⁻x\nFixpunkt: {fixpunkt_c}\nIterationen: {iterationen_c}\n")
|
||||||
|
|
||||||
|
print("----------------------------------------------------------------------")
|
||||||
Loading…
x
Reference in New Issue
Block a user