feat: task3 Matrix Berechnungen

This commit is contained in:
Sandro Zimmermann 2026-03-15 12:20:03 +01:00
parent d6b1626761
commit fcfabfe170

View File

@ -0,0 +1,85 @@
#%%
import numpy as np
import sympy as sp
from IPython.display import display, Math
#%%
# Parameter
A = np.array([[1,3,-1],[4,-2,8]])
B = np.array([[-3,9,3],[-6,6,3]])
# Layout
print(60 * "-")
print("Aufgabe 3. Matrizen berechnen (Numpy)")
print(__file__)
print(60 * "-")
#Berechnung
C=A+B
D=-2*A
E=(1/3)*B
F=2*B-A
#Ausgabe
print(f"C = {C}")
print(f"D = {D}")
print(f"E = {E}")
print(f"F = {F}")
print(60 * "-")
#%%
# Parameters
A = sp.Matrix([[1, 3, -1], [4, -2, 8]])
B = sp.Matrix([[-3, 9, 3], [-6, 6, 3]])
# Layout
print("-" * 60)
print("Aufgabe 3. Matrizen berechnen (Sympy)")
print(__file__)
print("-" * 60)
# Berechnung
C = A + B
D = -2 * A
E = sp.Rational(1, 3) * B # ← keeps fractions exact, e.g. 1 not 0.333...
F = 2 * B - A
# Ausgabe symbolic, paper-style
for name, matrix in [("C", C), ("D", D), ("E", E), ("F", F)]:
display(Math(rf"{name} = {sp.latex(matrix)}"))
print("-" * 60)
# %%
# Parameters
A = sp.Matrix([[4,-3,2],[6,2,5],[-1,-2,3]])
B = sp.Matrix([[3,4],[1,2],[5,6]])
u = sp.Matrix([0,2,-4])
v = sp.Matrix([1,3,-3])
# Layout
print("-" * 60)
print("Aufgabe 6. Produkte mit Matrizen")
print(__file__)
print("-" * 60)
# Berechnung
berechnungen = [
("a", lambda: A * B),
("b", lambda: B * A),
("c", lambda: A * u),
("d", lambda: A ** 2),
("e", lambda: B * B),
("f", lambda: v.T * u),
("g", lambda: v * u),
("h", lambda:u * v.T),
("i", lambda: B.T * v),
("j", lambda: v.T * B)
]
for name, berechnung in berechnungen:
try:
result = berechnung()
display(Math(rf"{name} = {sp.latex(result)}"))
except Exception as e:
display(Math(rf"{name} = \text{{Fehler: }} \text{{{e}}}"))