介绍
这篇文章主要介绍了Python计算矩阵和与积的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。
Python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。
<强>一、numpy的导入和使用强>
得到numpy import *, #导入numpy的库函数 import numpy  as np, #这个方式使用numpy的函数时,需要以np。开头。
<强>二、矩阵的创建强>
由一维或二维数据创建矩阵
得到numpy import *; a1=数组([1,2,3]); a1=垫(a1);
创建常见的矩阵
data1=垫(0 ((3、3))); #创建一个3 * 3的零矩阵,矩阵这里0函数的参数是一个tuple类型(3、3) data2=垫(((2、4))); 1 #创建一个2 * 4的矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int data3=垫(random.rand (2, 2)); #这里的随机模块使用的是numpy中随机的模块,random.rand(2, 2)创建的是一个二维数组,需要将其转换成#矩阵 data4=垫(random.randint(10、大?(3、3))); #生成一个3 * 3的清廉之间的随机整数矩阵,如果需要指定下界则可以多加一个参数 data5=垫(random.randint(2, 8,大?(2、5)); #产生一个2 - 8之间的随机整数矩阵 data6=垫(眼(2,2,dtype=int)); #产生一个2 * 2的对角矩阵 , a1=(1、2、3); a2=垫(诊断接头(a1)); #生成一个对角线为1、2、3的对角矩阵
<强>三,常见的矩阵运算强>
1。矩阵相乘
a1=垫([1,2]);,, a2=垫([[1],[2]]); a3=a1 * a2; # 1 * 2的矩阵乘以2 * 1的矩阵,得到1 * 1的矩阵
2。矩阵点乘
矩阵对应元素相乘
a1=垫([1]); a2=垫((2,2)); a3=乘以(a1, a2);
矩阵点乘
a1=垫((2,2)); a2=a1 * 2;
3。矩阵求逆,转置
矩阵求逆
a1=垫(眼(2,2)* 0.5); a2=a1.I; 0.5 #求矩阵矩阵([[0],[0,0.5]])的逆矩阵
矩阵转置
a1=垫([[1],[0]]); a2=a1.T;
4。计算矩阵对应行列的最大,最小值,和。
a1=垫([[1],[2、3],[4,2]]);
计算每一列,行的和
a2=a1.sum(轴=0);//列和,这里得到的是1 * 2的矩阵 a3=a1.sum(轴=1);//行和,这里得到的是3 * 1的矩阵 a4=总和(a1[1:]);//计算第一行所有列的和,这里得到的是一个数值
计算最大,最小值和索引
a1.max();//计算a1矩阵中所有元素的最大值,这里得到的结果是一个数的值 a2=max (a1(:, 1]);//计算第二列的最大值,这里得到的是一个1 * 1的矩阵 a1 [1:] .max();//计算第二行的最大值,这里得到的是一个一个数的值 , np.max (a1, 0);//计算所有列的最大值,这里使用的是numpy中的马克斯函数 np.max (a1, 1);//计算所有行的最大值,这里得到是一个矩阵 , np.argmax (a1, 0);//计算所有列的最大值对应在该列中的索引 np.argmax (a1[1:]);//计算第二行中最大值对应在改行的索引
5。矩阵的分隔和合并
矩阵的分隔,同列表和数组的分隔一致。
=垫子(((3、3))); b=[1: 1:];//分割出第二行以后的行和第二列以后的列的所有元素
矩阵的合并
=垫子(((2,2))); b=垫(眼(2)); c=vstack ((a, b));//按列合并,即增加行数 d=hstack ((a, b));//按行合并,即行数不变,扩展列数
<强>四、矩阵,列表,数组的转换强>
列表可以修改,并且列表中元素可以使不同类型的数据,如下:
l1=[[1], & # 39;你好# 39;,3];
numpy中数组,同一个数组中所有元素必须为同一个类型,有几个常见的属性:
=数组([[2],[1]]); 尺寸=a.ndim; m, n=a.shape; 数量=a.size;//元素总个数 str=a.dtype;//元素的类型
numpy中的矩阵也有与数组常见的几个属性。
它们之间的转换:
a1=[[1、2],[3 2],[5, 2]];//列的表 a2=数组(a1);//将列表转换成二维数组 a3=数组(a1);//将列表转化成矩阵 a4=数组(a3);//将矩阵转换成数组 a5=a3.tolist();//将矩阵转换成列的表 a6=a2.tolist();//将数组转换成列表Python计算矩阵和与积的方法