用python实现矩阵乘法
生活随笔
收集整理的這篇文章主要介紹了
用python实现矩阵乘法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:只用python的類和列表,實現矩陣乘法。
分析:先給定用戶輸入,再實現乘法。若有矩陣a和b,axb的規則是a的每一行乘b的每一列,每一次都要求和。
class Matmul(object):# mat_shape = (row, col) 元組,矩陣大小def __init__(self, mat_shape):self.cube = []self.row = mat_shape[0]self.col = mat_shape[1]def add_value(self):tmp = []for _ in range(self.row):for _ in range(self.col):tmp.append(int(input('按行輸入矩陣: ')))self.cube.append(tmp)tmp = []def show(self):print("the cube is :", self.cube)def multiply(self, other):if self.col != other.row:print("Not have the permission!")else:tmp_result = []cub_result = []tmp = []for a in range(self.row):for b in range(self.col):for x in range(other.row):tmp_result.append(self.cube[a][x] * other.cube[x][b])tmp.append(sum(tmp_result))tmp_result = []cub_result.append(tmp)tmp = []print(cub_result)這就實現了矩陣乘法,測試一下。
mat1 = Matmul(mat_shape=(2, 3)) mat2 = Matmul(mat_shape=(3, 3)) print('矩陣1;') mat1.add_value() print('矩陣2:') mat2.add_value() mat1.show() mat2.show() print('結果為:') mat1.multiply(mat2)結果如下:
正確。
總結
以上是生活随笔為你收集整理的用python实现矩阵乘法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 提效工具git的基本使用
- 下一篇: sublime Text3插入参考文献问