Matrizen in 3 Dimensionen
Verfasst: Montag 18. Mai 2020, 18:16
Hallo, kann mir hier vielleicht wer sagen wo der Fehler liegt? Bin Anfängerin, hab also nicht viel Erfahrung..
import matplotlib.pyplot as plt
%matplotlib inline
import numpy
# Punkt a)
matrix = np.zeros((10,10,10))
matrix1 = np.zeros((10,10,10))
matrix2 = np.zeros((10,10,10))
for it in range(10):
for jt in range(10):
for kt in range(10):
matrix[it,jt,kt]= jt * it - jt * kt
plt.matshow(matrix, cmap = 'magma')
plt.colorbar()
# Punkt b)
for it in range(10):
for jt in range(10):
for kt in range(10):
matrix1[it,5,kt]= jt*it-jt*kt
matrix2[it,jt,9]=jt*it-jt*kt
plt.matshow(matrix1, cmap = 'magma')
plt.colorbar()
plt.figure()
plt.matshow(matrix2, cmap = 'magma')
plt.colorbar()
Es kommt Valueerror: too many values too unpack (expected 2)
Hier wäre das ganze Beispiel:
Erweitern Sie das Konzept von Matrizen auf 3 Dimensionen:
a) Erstellen Sie mit np.zeros ein 10x10x10 Objekt (= Tensor dritter Stufe). Benutzen Sie eine Dreifachschleife (it,jt,kt), um über alle Einträge zu gehen. Jeder Eintrag soll gefüllt werden mit jt∗it−jt∗kt.
b) Aus diesem "Würfel" sollen nun zwei Ebenen (10x10 Matrizen) geschnitten werden, um Sie zu visualisieren. Dabei erstellen Sie eine der Ebenen mit jt = 5 und die andere Ebene mit kt = 9 (dafür werden keine Schleifen benötigt!). Visualisieren Sie im Anschluss die beiden Matrizen separat in 2 Plots. (Hinweis: Bitte erinnern Sie sich an die Ansprache per Indizes von Numpy Objekten. Zum Beispiel bedeutet [2,:] dass der erste Index bei 2 fixiert ist und alle Werte des zweiten Index angesprochen werden. )
c) Visualisieren Sie in einem dritten Plot die Matrix aus der Substraktion der beiden, genauer gesagt, die resultierende Matrix wenn man die Ebene aus kt = 9 von der Ebene jt = 5 abzieht. Geben Sie für alle 3 Plots colorbars an.
import matplotlib.pyplot as plt
%matplotlib inline
import numpy
# Punkt a)
matrix = np.zeros((10,10,10))
matrix1 = np.zeros((10,10,10))
matrix2 = np.zeros((10,10,10))
for it in range(10):
for jt in range(10):
for kt in range(10):
matrix[it,jt,kt]= jt * it - jt * kt
plt.matshow(matrix, cmap = 'magma')
plt.colorbar()
# Punkt b)
for it in range(10):
for jt in range(10):
for kt in range(10):
matrix1[it,5,kt]= jt*it-jt*kt
matrix2[it,jt,9]=jt*it-jt*kt
plt.matshow(matrix1, cmap = 'magma')
plt.colorbar()
plt.figure()
plt.matshow(matrix2, cmap = 'magma')
plt.colorbar()
Es kommt Valueerror: too many values too unpack (expected 2)
Hier wäre das ganze Beispiel:
Erweitern Sie das Konzept von Matrizen auf 3 Dimensionen:
a) Erstellen Sie mit np.zeros ein 10x10x10 Objekt (= Tensor dritter Stufe). Benutzen Sie eine Dreifachschleife (it,jt,kt), um über alle Einträge zu gehen. Jeder Eintrag soll gefüllt werden mit jt∗it−jt∗kt.
b) Aus diesem "Würfel" sollen nun zwei Ebenen (10x10 Matrizen) geschnitten werden, um Sie zu visualisieren. Dabei erstellen Sie eine der Ebenen mit jt = 5 und die andere Ebene mit kt = 9 (dafür werden keine Schleifen benötigt!). Visualisieren Sie im Anschluss die beiden Matrizen separat in 2 Plots. (Hinweis: Bitte erinnern Sie sich an die Ansprache per Indizes von Numpy Objekten. Zum Beispiel bedeutet [2,:] dass der erste Index bei 2 fixiert ist und alle Werte des zweiten Index angesprochen werden. )
c) Visualisieren Sie in einem dritten Plot die Matrix aus der Substraktion der beiden, genauer gesagt, die resultierende Matrix wenn man die Ebene aus kt = 9 von der Ebene jt = 5 abzieht. Geben Sie für alle 3 Plots colorbars an.