勤学思合作机构>

勤学思培训网CSDPAL

欢迎您!
朋友圈
机构未认证 全国统一学习专线 8:00-21:00

位置:勤学思培训网CSDPAL » 培训新闻 » 国际教育 » 海外游学 » 终于清楚python如何定义矩阵

终于清楚python如何定义矩阵

发布时间:2023-01-05 05:57:43
矩阵是数学中最重要的基本概念之一,是代数学的一个主要研究对象,也是数学研究及应用的一个重要工具。那么python如何定义矩阵呢?一起来了解下吧: python如何定义矩阵
[图片0] python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包。 的导入和使用 from numpy import *;#导入numpy的库函数 import numpy as np; #这个方式使用numpy的函数时,需要以np.开头。 2.矩阵的创建 由一维或二维数据创建矩阵 from numpy import *; a1=array([1,2,3]); a1=mat(a1); 创建常见的矩阵 data1=mat(zeros((3,3))); #创建一个3*3的零矩阵,矩阵这里zeros函数的参数是一个tuple类型(3,3) data2=mat(ones((2,4))); #创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int data3=mat((2,2)); #这里的random模块使用的是numpy中的random模块,(2,2)创建的是一个二维数组,需要将其转换成#matrix data4=mat((10,size=(3,3))); #生成一个3*3的0-10之间的随机整数矩阵,如果需要指定下界则可以多加一个参数 data5=mat((2,8,size=(2,5)); #产生一个2-8之间的随机整数矩阵 data6=mat(eye(2,2,dtype=int)); #产生一个2*2的对角矩阵 a1=[1,2,3]; a2=mat(diag(a1)); #生成一个对角线为1、2、3的对角矩阵 Python中矩阵如何运算 1. 矩阵相乘 a1=mat([1,2]); a2=mat([[1],[2]]); a3=a1*a2; #1*2的矩阵乘以2*1的矩阵,得到1*1的矩阵 2. 矩阵点乘 矩阵对应元素相乘 a1=mat([1,1]); a2=mat([2,2]); a3=multiply(a1,a2); 矩阵点乘 a1=mat([2,2]); a2=a1*2; 3.矩阵求逆,转置 矩阵求逆 a1=mat(eye(2,2)*); a2=; #求矩阵matrix([[,0],[0,]])的逆矩阵 矩阵转置 a1=mat([[1,1],[0,0]]); a2=; 4.计算矩阵对应行列的最大、最小值、和。 a1=mat([[1,1],[2,3],[4,2]]); 计算每一列、行的和 a2=(axis=0);//列和,这里得到的是1*2的矩阵 a3=(axis=1);//行和,这里得到的是3*1的矩阵 a4=sum(a1[1,:]);//计算第一行所有列的和,这里得到的是一个数值 计算最大、最小值和索引 ();//计算a1矩阵中所有元素的最大值,这里得到的结果是一个数值 a2=max(a1[:,1]);//计算第二列的最大值,这里得到的是一个1*1的矩阵 a1[1,:].max();//计算第二行的最大值,这里得到的是一个一个数值 (a1,0);//计算所有列的最大值,这里使用的是numpy中的max函数 (a1,1);//计算所有行的最大值,这里得到是一个矩阵 (a1,0);//计算所有列的最大值对应在该列中的索引 (a1[1,:]);//计算第二行中最大值对应在改行的索引 5.矩阵的分隔和合并 矩阵的分隔,同列表和数组的分隔一致。 a=mat(ones((3,3))); b=a[1:,1:];//分割出第二行以后的行和第二列以后的列的所有元素 矩阵的合并 a=mat(ones((2,2))); b=mat(eye(2)); c=vstack((a,b));//按列合并,即增加行数 d=hstack((a,b));//按行合并,即行数不变,扩展列数 python 定义矩阵的方法 1.使用 array 定义矩阵 dataSet = array([[,],[,],[,],[0,]]) 2.使用 shape 返回矩阵的行数(列数)
[图片1] [0] #4 [1] #2 3.使用 tile 成倍的扩大矩阵 intX =array([0,1,1,1]) tsample = tile(intX,(4,2)) # 表示将矩阵 行复制4次,列复制2次 4.矩阵各个元素值的平方/开平方 sqDiffMat = diffMat**2 distances = sqDistances** # 为什么是(4,2) 而不是两个参数呢?详解 6 5.使用 argsort 获得排序后的编号 x = array([3, 1, 2]) argsort(x) #[1,2,0] # argsort 可以正序也可以逆序,可以按行拍序也可以按列排序 6.{}、[]、()放元素的区别 {} 相当于 Map字典 [] 相当于 List数组 () 相当于 tuple元组类型,初始化后不能改变 按照值排序的2种写法 dict= sorted((), key=lambda d:d[0]) sortedClassCount=sorted((),key=(1),reverse=True) Python表示矩阵的方法 在c语言中,表示个“整型3行4列”的矩阵,可以这样声明:int a[3][4];在python中一不能声明变量int,二不能列出维数。可以利用列表中夹带列表形式表示。例如: 表示矩阵 ,可以这样: count = 1 a = [] for i in range(0, 3): tmp = [] for j in range(0, 3): (count) count += 1 (tmp) print a 结果: [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 但是注意一点:初始化(赋值全部为0时),下面是错误的!! tmp = [] for j in range(0, 3): (0) a = [] for i in range(0, 3): (tmp) print a 结果: [[0, 0, 0], [0, 0, 0], [0, 0, 0]] 原因:这样的列表tmp为同一个,改变任意行,其他行都会给随着改变,千万注意!!,下面正确: a = [] for i in range(0, 3): tmp = [] for j in range(0, 3): (0) (tmp) print a

更多培训课程,学习资讯,课程优惠,课程开班,学校地址等学校信息,请进入 勤学思培训网CSDPAL 详细了解
咨询电话:

还没有找到合适的课程?赶快告诉课程顾问,让我们顾问马上联系您! 靠谱 的培训课程,省时又省力!

微信访问

#tel_020#