0
안녕하세요 (제 영어 실례), 파이썬에서 행렬 곱셈을하는 것에 큰 의구심이 있습니다. 목록 목록을 만들고 배율 행렬을 곱합니다. 이것은 내가 한 일로 alparecer는 할 수 없습니다. 인덱스로 곱하기 연산 문제를 수행하고, 종이와 연필로 확인하고 작동합니다. 색인을 수용하기에는 좋지 않은 일을하고 있습니까? 아니면 처음부터 행렬을 수용하는 것이 잘못 되었습니까?파이썬에서의 행렬 곱셈
def main():
if len(sys.argv) > 1:
v = int(sys.argv[1])
else:
print "error python exe:"
print "\tpython <programa.py> <num_vertices>"
A = []
for i in range(v):
A.append([0]*2)
for i in range(v):
for j in range(2):
A[i][j] = input("v: ")
print A
Escala(A)
def Escala(A):
print "Escala"
sx = input("Sx: ")
sy = input("Sy: ")
S = [(sx,0),(0,sy)]
print S
M = mult(S,A)
print M
def mult(m1,m2):
M = zero(len(m1),len(m2[0]))
for i in range(len(m2)):
for j in range(len(m2[0])):
for k in range(len(m1)):
M[i][j] += m1[k][j]*m2[k][j]
print M
return M
def zero(m,n):
# Create zero matrix
new_matrix = [[0 for row in range(n)] for col in range(m)]
return new_matrix
암 상당히 확인 [DJV] (http://stackoverflow.com/a/15003989/432913)의 대답이 정확합니다. 행렬 차원에서 곱셈을 허용하기 전에 곱셈을 수행하기 전에 확인할 수 있습니다. – will
왜 numpy를 사용하지 않습니까? –