Python计算矩阵相乘
来源:互联网 发布:淘宝搜索流量下降 编辑:程序博客网 时间:2024/05/21 16:22
《Python学习手册-第3版》中提到python可以进行复杂的数学计算,甚至堪比MATLAB,随便写了一个矩阵相乘计算的本来应该要导入numpy这个模块的,但一直在windows下没有弄好,暂时就木有导入强大的模块功能了,苦逼的只能自己写矩阵相乘……
这里写的是一般通用的(m*n)×(n*k)矩阵相乘,这里的m*n代表m行n列矩阵,我们知道,矩阵相乘这里的n是一定要相同的!由于python的特性,还写出了两种不一样的算法哦!O(∩_∩)O哈哈~直接上代码:
#coding:utf-8# 矩阵相乘计算 M*N=R# @author : hejiao # @date : 2015-08-27M = [[1,1,1],[1,1,1],[1,1,1],[1,1,1]]N = [[1,1],[1,1],[1,1]]R = [[0,0],[0,0],[0,0],[0,0]]for i in range(len(M)): for j in range(2): sum = 0 for k in range(len(N)): sum += M[i][k]*N[k][j] R[i][j] = sumprint R# Result is [[3,3],[3,3],[3,3],[3,3]]
可惜的是目前还不知道怎么得到矩阵的列数,所以在j循环时只能硬编码成2,然后就是列表添加数据简单的添加就是append,但是复杂的二维的数据添加暂时还不知道,所以就初始化了,等以后知道了再来修改吧!第二种是利用的python可以获得矩阵的一列数据[row[1] for row in N]可以得到一列数据,例如:N = [[1,2],[3,4],[5,6]],则[row[1] for row in N]就是[2,4,6]了,代码如下:
M = [[1,1,1],[1,1,1],[1,1,1],[1,1,1]]N = [[1,1],[1,1],[1,1]]R = [[0,0],[0,0],[0,0],[0,0]] #初始化for i in range(len(M)): for j in range(2): a = M[i] b = [row[j] for row in N] sum = 0 for k in range(len(N)): sum += a[k]*b[k] R[i][j] = sumprint R
0 0
- Python计算矩阵相乘
- Python实现矩阵相乘
- python 实现矩阵相乘
- 170525 python 矩阵按行按列相乘
- GPU计算矩阵相乘(未优化)
- 矩阵相乘nxn block的计算过程
- 线性代数中矩阵相乘如何计算
- 区间DP 矩阵相乘复杂度计算
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 矩阵相乘
- 简单错误记录(华为16年研发试题)
- 开始Spring Cloud Config
- Ngui如何弹出提示消息,并淡出【支持多条】
- android md5加密和sha-1加密方法
- 百分比进度框
- Python计算矩阵相乘
- JAVA问题总结之17-杨辉三角的实现
- POJ2187---Beauty Contest
- ASC 41 Problem D. Data Mining
- App版本更新时对SQLite数据库表的修改问题
- Android:Intent用法总结
- Android 集成支付宝SDK实现快捷支付--详解
- 我们工作到底为了什么(HP大中华区总裁孙振耀退休感言)--值得我们停留一刻阅读
- Ajax实现跨域请求