幽灵资源网 Design By www.bzswh.com
本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下:
def matrixMultiply(A, B): # 获取A的行数和列数 A_row, A_col = shape(A) # 获取B的行数和列数 B_row, B_col = shape(B) # 不能运算情况的判断 if(A_col != B_row): raise ValueError # 最终的矩阵 result = [] # zip 解包后是转置后的元组,强转成list, 存入result中 BT = [list(row) for row in zip(*B)] # 开始做乘积运算 for A_index in range(A_row): # 用于记录新矩阵的每行元素 rowItem = [] for B_index in range(len(BT)): # num 用于累加 num = 0 for Br in range(len(BT[B_index])): num += A[A_index][Br] * BT[B_index][Br] # 累加完成后,将数据存入新矩阵的行中 rowItem.append(num) result.append(rowItem) return result
说明: A矩阵与B矩阵的乘法运算,最终得到新的矩阵X , 思路
- 首先判断是否可以相乘:前提条件是A的列与B的行要相同
- 我们可以画图理解:假如A是3行5列,B是5行2列,相乘结果是3行2列
- 将B转置后是2行5列,我们称之为BT, 这样 A 和 BT 都是5列了
- 则A的每行中的第 i 个元素 * BT每行中的第 i 个元素,相加构成新矩阵X的新行,循环A行,共3行,则新矩阵X就会逐步添加新行,待循环完毕,得到新矩阵X
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,矩阵相乘
幽灵资源网 Design By www.bzswh.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
幽灵资源网 Design By www.bzswh.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。