NumPy矩阵运算

矩阵初始化

import numpy as np
m=np.zeros([3,5])#
print (m)
n=np.ones([3,5])
print(n)

生成3X5的矩阵值为0,1;

#生成随机数矩阵

mn=np.random.rand(3,5)#3行4列的0-1之间的随机数矩阵
print(mn)

#单位矩阵
z=np.eye(4)#4行4列一条对角线为1的单位矩阵
print (z)

2,矩阵的元素运算

      • /
        矩阵相加相减的条件
        必须矩阵大小相等
        eg:
import numpy as np
z=np.eye(4)#这是一个对角线为1的矩阵
print (z)
n=np.ones([4,4])
print (n)
print(z+n)

矩阵数乘:一个数乘以整个矩阵

import numpy as np
z=np.mat([[1,2,3],[4,5,6],[7,8,9]])
z=10*z
print (z)

矩阵所有元素求和
#这里区别sum(),和np.sum();sum()返回的是每一列的和组成的裂变,np.sum()返回矩阵和

import numpy as np
n=np.mat([[1,2,3],[4,5,6],[7,8,9]])
print (np.sum(n))

矩阵元素的积
1.如果两个矩阵维度相同,则乘相同位置数相乘

import numpy as np
n=np.random.rand(3,3)#生成3X3的矩阵值在0-1之间
print (n)
m=np.eye(3)#单位矩阵
print (m)
print (np.multiply(n,m))#也可以用‘*’号

输出:
[[0.26886197 0.92144212 0.62190632]
[0.11934666 0.83958397 0.1564729 ]
[0.41122839 0.87522917 0.82239665]]
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
[[0.26886197 0. 0. ]
[0. 0.83958397 0. ]
[0. 0. 0.82239665]]

2.两个矩阵维度不同:在大的矩阵中找到与另一个大小一样的矩阵相乘,得到一个列表

import numpy as np
n=np.mat([[1,2,3],[4,5,6],[7,8,9]])
m=np.mat([[2,2,2]])
print (np.multiply(n,m))

输出:
[[ 2 4 6]
[ 8 10 12]
[14 16 18]]

矩阵个元素的二次幂

import numpy as np
n=np.mat([[1,2,3],[4,5,6],[7,8,9]])
print (np.power(n,2))

输出:
[[ 1 4 9]
[16 25 36]
[49 64 81]]


3.矩阵的乘法

from numpy import *
n=mat([[1,2,3],[4,5,6],[7,8,9]])
m=mat([[1],[2],[3])
print (n)
print(m)
print(n*m)#1*1+2*2+3*3=14

输出:
[[1 2 3]
[4 5 6]
[7 8 9]]
[[1]
[2]
[3]]
[[14]
[32]
[50]]


4.矩阵的转置

from numpy import *
n=mat([[1,2,3],[4,5,6],[7,8,9]])
print (n.T)#90度向左转
print(n.transpose)#https://blog.csdn.net/xiongchengluo1129/article/details/79017142

5.矩阵的其他操作

行列

from numpy import *
m=mat([[1,2,3],[4,5,6],[7,8,9]])
[m,n]=shape(m)
print ('H L',m,n)#矩阵的行列数

输出:
H L 3 3

切片

from numpy import *
m=mat([[1,2,3],[4,5,6],[7,8,9]])
n=m[0]#按行切片
print (n)
k=m.T[0]#按列切片
print (k)

输出:
[[1 2 3]]
[[1 4 7]]

矩阵复制

from numpy import *
m=mat([[1,2,3],[4,5,6],[7,8,9]])
n=m.copy()#矩阵的复制
print(n)

输出:
[[1 2 3]
[4 5 6]
[7 8 9]]

NumPy是Python中用于科学计算的重要库之一,其中的ndarray对象能够高效处理大规模数组数据。下面介绍一些常见的numpy矩阵运算。 1. 创建矩阵 可以使用numpy中的array函数来创建矩阵,例如: ```python import numpy as np # 创建一个2x3的矩阵 A = np.array([[1, 2, 3], [4, 5, 6]]) ``` 2. 矩阵加法和减法 矩阵加法和减法需要两个矩阵形状相同,可以直接使用加法和减法运算符,例如: ```python import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) C = A + B # 矩阵加法 D = A - B # 矩阵减法 print(C) # [[ 6 8] # [10 12]] print(D) # [[-4 -4] # [-4 -4]] ``` 3. 矩阵乘法 矩阵乘法有两种方式:点积和矩阵乘法。点积是两个矩阵对应元素相乘再相加的结果,可以使用numpy中的dot函数实现。矩阵乘法是指两个矩阵的乘积,需要满足第一个矩阵的列数等于第二个矩阵的行数,可以使用numpy中的matmul函数实现。 ```python import numpy as np A = np.array([[1, 2], [3, 4]]) B = np.array([[5, 6], [7, 8]]) # 点积 C = np.dot(A, B) # 矩阵乘法 D = np.matmul(A, B) print(C) # [[19 22] # [43 50]] print(D) # [[19 22] # [43 50]] ``` 4. 矩阵转置 可以使用numpy中的transpose函数或者T属性来将矩阵转置。 ```python import numpy as np A = np.array([[1, 2], [3, 4]]) # 转置 B = np.transpose(A) C = A.T print(B) # [[1 3] # [2 4]] print(C) # [[1 3] # [2 4]] ``` 这些是numpy中的常见矩阵运算,当然还有很多其他的操作,可以参考官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值