Python进行矩阵的乘法运算

和同学聊天中谈到自己编写一款计算器,甚至是那种可以进行矩阵运算的高端计算器,然而当前的水平还达不到,于是想到先练习编写一下矩阵的乘法小程序:

先来复习一下矩阵乘法如下:  现在思路有些闭塞,回来先好好想想再来编写??2017-11-07 20:35:22

#Filename:matMultiply

M = [[1,1],[2,2]]
N = [[2,2],[1,1]]

P = [[0,0],[0,0]]

#P[0][0] = M[0][0] * N[0][0] + M[0][1] * N[1][0]

#P[0][1] = M[0][0] * N[0][1] + M[0][1] * N[1][1]

#P[1][0] = M[1][0] * N[0][0] + M[1][1] * N[1][0]

#P[1][1] = M[1][0] * N[0][1] + M[1][1] * N[1][1]

for i in range(2):  #i 可以取0 1; P的 0 1 行
    for j in range(2): #j ,P的0 1 列
        #参与的总是:M的i行,N的j列
        if i == 0:
            P[i][j] = M[i][i] * N[i][j] + M[i][1]*N[1][j]
        if i == 1:
            P[i][j] = M[i][0] * N[0][j] + M[i][1]*N[1][j]

print(P)
时间: 2024-10-29 06:28:36

Python进行矩阵的乘法运算的相关文章

python 下矩阵倒置的实现

Python下矩阵倒置,可以用双重循环,或者是zip实现. 循环实现: 嵌套的列表推导式 matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]matrix_t = [[row[col] for row in matrix] for col in range(len(matrix[0]))]matrix_t[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]] 原理很简单:先循环列,在固定列上循环每一行

Python实现矩阵所有元素之和及某一列之和和某一行之和??

例如定义一个矩阵: 1 >>> a=mat([[1,2,3],[2,3,4]]) 2 >>> a 3 matrix([[1, 2, 3], 4 [2, 3, 4]]) 5 >>> sum(a) 6 15 7 >>> sum(a[0]) 8 6 9 >>> sum(a[1]) 10 9 11 >>> 注意和matlab中求和的区别:matlab中sum(a)默认指按列求和:

4..8矩阵的乘法运算

Q:已知矩阵A和矩阵B,实现2个矩阵乘积保留在矩阵C. 注意:A矩阵的列必须与B矩阵的行相等,两个矩阵才能做相乘运算.三重循环嵌套语句. 最内层的循环,实现矩阵A的第m行和矩阵B的第n列对应元素相乘求和,得到C矩阵的元素. #include <iostream> #include <string> using namespace std; int main() { int A[2][3]={{1,2,3},{4,5,6}}; int B[3][4]={{1,0,2,3},{4,1,

python创建矩阵

创建二维数组的办法 直接创建(不推荐) 列表生产式法(可以去列表生成式 - 廖雪峰的官方网站学习) 使用模块numpy创建 举个栗子: 创建一个3*3矩阵,并计算主对角线元素之和. import numpy as npa=np.random.randint(1,100,9).reshape(3,3) #生成形状为9的一维整数数组a=np.random.randint(1,100,(3,3)) #上面的语句也可以改为这个print(a)(m,n)=np.shape(a) # (m,n)=(3,3)

python 有关矩阵行列的存取 np.array

初始化 a = range(16) a = np.array(a) a = a.reshape(4,4) a [[ 0  1  2  3] [ 4  5  6  7] [ 8  9 10 11] [12 13 14 15]] 获取a的[0,1,4]行 b = a[ range( 2)+range( 3, 4),:] [[ 0  1  2  3] [ 4  5  6  7] [12 13 14 15]] 获取b的[0,1,4]列 c = b[:, range( 1 )+range(2 , 3)]

python numpy 矩阵左右翻转/上下翻转

numpy API: flattened flip() (in module numpy) fliplr() (in module numpy) flipud() (in module numpy) flip: flip(m, 0) is equivalent to flipud(m). flip(m, 1) is equivalent to fliplr(m). flip(m, n) corresponds to m[...,::-1,...] with ::-1 at position n.

【机器学习算法-python实现】矩阵去噪以及归一化

1.背景 项目需要,打算用python实现矩阵的去噪和归一化.用numpy这些数学库没有找到很理想的函数,所以一怒之下自己用标准库写了一个去噪和归一化的算法,效率有点低,不过还能用,大家如果有需要可以拿去. (1)去噪算法:根据概率论的知识,如果一组数据服从正态分布,我们设均值是n,方差是v,那么对于每个离散数值有百分之九十二以上的概率会在(n-3*v,n+3*v)的区间内.所以这里的去噪功能主要是实现如果超出了区间就将这个值标记为区间所能容忍最大值. (2)归一化:找到输入队列最大值max,最

[转]python与numpy基础

来源于:https://github.com/HanXiaoyang/python-and-numpy-tutorial/blob/master/python-numpy-tutorial.ipynb python与numpy基础 寒小阳(2016年6月) Python介绍 如果你问我没有编程基础,想学习一门语言,我一定会首推给你Python类似伪代码的书写方式,让你能够集中精力去解决问题,而不是花费大量的时间在开发和debug上同时得益于Numpy/Scipy这样的科学计算库,使得其有非常高效

python数据结构:numpy

一. numpy概述 numpy(Numerical Python)提供了python对多维数组对象ndarray(应该是N-dimension array)的支持,具有矢量运算能力,快速.节省空间.numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. 二.实操 1. 创建ndarray数组 ndarray:N维数组对象(矩阵),所有元素必须是相同类型.ndarray属性:ndim属性,表示维度个数:shape属性,表示各维度大小:dtype属性,表示数据类型.