działania na macierzach

0

Hej ! chcę napisać program obliczający wynik mnożenia, dodawania, odejmowania i transponowania macierzy . Jestem w tym kompletnie zielona. Myślałam o użyciu do tego modułu numpy ale coś nie działa po mojej myśli. Wprowadzić macierze się da natomiast nie rozumie polecenia mnożenia czy odejmowania. Pomocy !

import numpy
a=([])
k1=input('liczba kolumn pierwszej macierzy')
k1=eval(k1)
w1=input('liczba wierszy pierszej macierzy')
w1=eval(w1)
for i in range(1,w1+1):
m=([])
for j in range(1,k1+1):
n=input("podaj liczbę ("+str(i)+","+str(j)+"): ")
m.append(n)
a.append(m)
print (a)
a=numpy.array(a)
b=([])
k2=input('liczba kolumn drugiej macierzy')
k2=eval(k2)
w2=input('liczba wierszy drugiej macierzy')
w2=eval(w2)
for i in range(1,w2+1):
v=[]
for j in range(1,k2+1):
q=input("podaj liczbę ("+str(i)+","+str(j)+"): ")
v.append(q)
b.append(v)
print (b)
b=numpy.array(b)
c=b-a
print(c)

0

Zamiast:
a=numpy.array(a)

spróbuj:
a=numpy.matrix(a)

Macierze, żeby wykonać na nich operacje dodawania, odejmowania czy mnożenia muszą mieć odpowiednie rozmiary (kolumy x wiersze).

Możesz użyć liczb losowych dla próbnych obliczeń, wklepywanie każdej pozycji macierzy z input jest średnim pomysłem ;)

0

Czemu ma służyć taki zapis a=([]) ?

Co do liczb losowych spróbuj z:

import numpy as np
dat = np.random.random((10,10))*100
print(dat)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0