python编写矩阵乘法函数,Python矩阵加法

  python编写矩阵乘法函数,Python矩阵加法

  矩阵加法需要矩阵同型

  矩阵乘法有需要满足A的列等于B的行

  代码如下

  类矩阵calc:A=[]B=[]def _ _ init _ _(self,shapeA,shapeB):self。shapeA=shapeA自我。shapeB=shapeB def input _(self):print(请输入下面的矩阵A和矩阵b:)矩阵计算.A=[]矩阵计算对于范围内的I(self ), b=[]。shapea[0]):矩阵计算.append([int(e) for e in input().split()])打印(“”)范围内的I(自身。shapea[1]):矩阵计算.append([int(e) for e in input().split()])def add(self):如果self。形状a[0]!=self.shapeB[0]或self.shapeA[1]!=self.shapeB[1]: print(Error!)else:矩阵calc。input _(self)print(结果为:)为范围内的I(self。shapea[0]):print([矩阵计算。A[i][j]矩阵b[I][j]for j in range(self。shape a[1]])def multiply(self):如果self。shapea[1]!=self.shapeB[0]: print(Error!)else:矩阵calc。input _(self)print(结果为:)C=[]for I in range(self。shape a[0]):tmp=[]对于范围内的k(self。shape b[1]):对于范围内的j,sum=0(self。shape a[1]):sum=matrix calc .A[i][j] *矩阵丙.b[j][k]tmp。append(sum)C . append(tmp)for I in C:for j in I:print(j,end= )print()if _ _ name _ _= _ _ main _ _ :shape A=[int(I)for I in input(请输入矩阵A的形状:)。split()]shapeB=[int(I)for I in input(请输入矩阵B的形状:)。split()] cal_mode=input(你想怎么算?选择一个:\ n[1] \ n[2] * \ n )M=矩阵calc(shapeA,shapeB)如果校准模式是" ":M.add() else: M.multiply()

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: