Untitled
unknown
plain_text
2 years ago
2.5 kB
3
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...