当前位置: 首页 > 编程笔记 >

python如何进行矩阵运算

梁丘霖
2023-03-14
本文向大家介绍python如何进行矩阵运算,包括了python如何进行矩阵运算的使用技巧和注意事项,需要的朋友参考一下

python进行矩阵运算的方法:

1、矩阵相乘

>>>a1=mat([1,2]);   
>>>a2=mat([[1],[2]]);
>>>a3=a1*a2 #1*2的矩阵乘以2*1的矩阵,得到1*1的矩阵
>>> a3
matrix([[5]])

2、矩阵对应元素相乘

>>>a1=mat([1,1]);
>>>a2=mat([2,2]);
>>>a3=multiply(a1,a2)
>>> a3
matrix([[2, 2]])

multiply()函数:数组和矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致

3、矩阵点乘

>>>a1=mat([2,2]);
>>>a2=a1*2
>>>a2
matrix([[4, 4]])

4、矩阵求逆

>>>a1=mat(eye(2,2)*0.5)
>>> a1
matrix([[ 0.5, 0. ],
    [ 0. , 0.5]])
>>>a2=a1.I #求矩阵matrix([[0.5,0],[0,0.5]])的逆矩阵
>>> a2
matrix([[ 2., 0.],
    [ 0., 2.]])

5、矩阵转置

>>> a1=mat([[1,1],[0,0]])
>>> a1
matrix([[1, 1],
    [0, 0]])
>>> a2=a1.T
>>> a2
matrix([[1, 0],
    [1, 0]])

6、计算每一列、行的和

>>>a2=a1.sum(axis=0) #列和,这里得到的是1*2的矩阵
>>> a2
matrix([[7, 6]])
>>>a3=a1.sum(axis=1) #行和,这里得到的是3*1的矩阵
>>> a3
matrix([[2],
    [5],
    [6]])
>>>a4=sum(a1[1,:]) #计算第一行所有列的和,这里得到的是一个数值
>>> a4
5          #第0行:1+1;第2行:2+3;第3行:4+2

内容扩展:

numpy矩阵运算

(1) 矩阵点乘:m=multiply(A,B)

(2) 矩阵乘法:m1=a*b m2=a.dot(b)

(3) 矩阵求逆:a.I

(4) 矩阵转置:a.T

到此这篇关于python如何进行矩阵运算的文章就介绍到这了,更多相关python进行矩阵运算的方法内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍Python常用库Numpy进行矩阵运算详解,包括了Python常用库Numpy进行矩阵运算详解的使用技巧和注意事项,需要的朋友参考一下 Numpy支持大量的维度数组和矩阵运算,对数组运算提供了大量的数学函数库! Numpy比Python列表更具优势,其中一个优势便是速度。在对大型数组执行操作时,Numpy的速度比Python列表的速度快了好几百。因为Numpy数组本身能节省内存,并

  • 使用JCUDA对复数进行运算的最佳方法是什么?我应该使用cuComplex格式还是有其他的解决方案(像一个数组,实部和虚部一个接着一个走)?我非常感谢使用这种类型的计算的java代码示例。 由于我的目的是用GPU求解复杂的线性方程组,所以我不想只附上jCuda。用GPU进行这样的计算有哪些可供选择的方式?

  • 本文向大家介绍Python中矩阵创建和矩阵运算方法,包括了Python中矩阵创建和矩阵运算方法的使用技巧和注意事项,需要的朋友参考一下 矩阵创建 1、from numpyimport *; a1=array([1,2,3]) a2=mat(a1) 矩阵与方块列表的区别如下: 2、data2=mat(ones((2,4))) 创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用

  • 我有两个列表,每个列表中有两个矩阵。。是否有一种方法可以对它们进行矩阵计算,即相加,其中matrix1中的蓝色矩阵与matrix2中的蓝色矩阵相加,matrix1中的红色矩阵与matrix2中的红色矩阵相加。我能想到的唯一方法是在循环中进行计算 请注意,我将有大约10个,以及不止一组(即蓝色、红色、绿色、紫色)

  • 本文向大家介绍纯python进行矩阵的相乘运算的方法示例,包括了纯python进行矩阵的相乘运算的方法示例的使用技巧和注意事项,需要的朋友参考一下 本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下: 说明: A矩阵与B矩阵的乘法运算,最终得到新的矩阵X , 思路 首先判断是否可以相乘:前提条件是A的列与B的行要相同 我们可以画图理解:假如A是3行5列,B是5行2列,相乘结

  • 问题内容: 我正在研究信号分类问题,想先缩放数据集矩阵,但是我的数据是3D格式(批,长度,通道)。 我尝试使用Scikit-learn Standard Scaler: 但是我收到了以下错误消息: 找到具有暗3的数组。StandardScaler预期<= 2 我认为一种解决方案是将每个通道的矩阵分成多个2D矩阵,分别缩放比例,然后放回3D格式,但我想知道是否有更好的解决方案。 非常感谢你。 问题答