0
你好(原谅我的英语),我对python的矩阵乘法有很大的怀疑,我创建了一个列表的列表并乘以一个缩放矩阵,这就是我所做的,我不能alparecer执行与索引的乘法运算问题,我用纸和铅笔检查,它的工作原理,我做了不好的事情,以适应索引或我是否错误容纳矩阵从一开始?在Python中的矩阵乘法
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 2013-02-21 13:54:52
你为什么不使用numpy? – 2013-02-21 14:24:40