Untitled
unknown
plain_text
2 years ago
2.5 kB
11
Indexable
import numpy as np
from fractions import Fraction
import random
def generate_matrix(matrix_type):
possible_values = list(range(-3, 4)) # Sie können den Bereich entsprechend anpassen
if matrix_type == 1:
# Wir generieren eine 3x3-Matrix mit einer Determinante ungleich Null
while True:
matrix = np.array([[random.choice(possible_values) for _ in range(3)] for _ in range(3)])
if np.linalg.det(matrix) != 0:
break
print("Hier ist eine 3x3-Matrix. Bestimme die Inverse dieser Matrix.")
print(matrix)
input("Drücke Enter, um die Lösung anzuzeigen...")
# Die Inverse der Matrix berechnen und anzeigen
inv_matrix = np.linalg.inv(matrix)
inv_matrix_fraction = [[str(Fraction(el).limit_denominator()) for el in row] for row in inv_matrix]
print(np.array(inv_matrix_fraction))
elif matrix_type == 2:
# Wir generieren eine 3x3-Matrix mit einer vierten Spalte für Koeffizienten
matrix = np.array([[random.choice(possible_values) for _ in range(4)] for _ in range(3)])
print("Hier ist eine 3x3-Matrix mit einer zusätzlichen Spalte für Koeffizienten. Löse das System mittels Gauß-Eliminationsverfahren.")
print(matrix)
input("Drücke Enter, um die Lösung anzuzeigen...")
# Die Lösung des Gleichungssystems mit der Gauss-Eliminationsmethode finden
solution = np.linalg.solve(matrix[:,:3], matrix[:,3])
solution_fraction = [str(Fraction(el).limit_denominator()) for el in solution]
print(np.array(solution_fraction))
elif matrix_type == 3:
# Wir generieren eine 4x4-Matrix mit einer Determinante ungleich Null
while True:
matrix = np.array([[random.choice(possible_values) for _ in range(4)] for _ in range(4)])
if np.linalg.det(matrix) != 0:
break
print("Hier ist eine 4x4-Matrix. Bestimme die Determinante dieser Matrix.")
print(matrix)
input("Drücke Enter, um die Lösung anzuzeigen...")
# Die Determinante der Matrix berechnen und anzeigen
determinant = np.linalg.det(matrix)
print(Fraction(determinant).limit_denominator())
else:
raise ValueError("Ungültiger Matrixtyp!")
print()
def zufallsaufgabe():
matrix_type = random.choice([1, 2, 3])
generate_matrix(matrix_type)
# Hier ist ein Beispiel, wie Sie die Funktion 'zufallsaufgabe' verwenden können:
zufallsaufgabe()
Editor is loading...