mein Ziel ist es mit diesem Code 2 Matrixen zu generieren und dann zu addieren. Das Problem ist in Schritt 3 bekommt auf einmal die Matrixe m die gleichen Werte wie m2 obwohl ja eigentlich nur zu jeder Zahl eine 1 addiert werden soll. Weiß jemand was ich hier Falsch mache?
Code: Alles auswählen
import matrix
def main():
Matrix = matrix.matrix()
m = Matrix.Matrix(3,2)
m2 = Matrix.Matrix(3,2)
print(m)
print(m2)
print('schritt 1')
#m = Matrix.randomize()
m2 = Matrix.randomize()
print(m)
print(m2)
print('schritt 2')
m = Matrix.add(1)
print(m)
print(m2)
print('schritt 3')
m2 = Matrix.add(m)
print(m2)
main()
Code: Alles auswählen
import random
import numpy as np
class matrix:
def Matrix(self, rows=2, cols=2):
self.rows = rows
self.cols = cols
self.matrix = np.zeros(shape=(rows,cols))
return self.matrix
def randomize(self):
for i in range(self.rows):
for j in range(self.cols):
self.matrix[i][j] = random.randint(0, 10)
return self.matrix
def add(self, n):
m = np.zeros(shape=(1,1))
if type(n) == type(m):
for i in range(self.rows):
for j in range(self.cols):
self.matrix[i][j] += n[i][j]
else:
for i in range(self.rows):
for j in range(self.cols):
self.matrix[i][j] += n
return self.matrix
def scale(self, n):
for i in range(self.rows):
for j in range(self.cols):
self.matrix[i][j] *= n
return self.matrix