网站首页 > 技术教程 正文
Numpy 矩阵是一种特殊的二维数组,它遵循矩阵的数学运算规则,如矩阵乘法、求逆、求行列式等。Numpy 矩阵可以使用 numpy.matrix() 函数或者 np.mat() 函数来创建,也可以使用 numpy.asmatrix() 函数将一个数组转换为矩阵。Numpy 矩阵的元素类型可以是任意的,但是必须是同质的,即所有元素的类型必须相同。Numpy 矩阵的属性和方法与 Numpy 数组类似,但也有一些区别,例如:
- Numpy 矩阵的 shape 属性返回一个元组,表示矩阵的行数和列数。例如,一个 3 行 4 列的矩阵的 shape 是 (3, 4)。
- Numpy 矩阵的 dtype 属性返回一个对象,表示矩阵的元素类型。例如,一个整数矩阵的 dtype 是 np.int32。
- Numpy 矩阵的 ndim 属性返回一个整数,表示矩阵的维度数。对于任何矩阵,这个值都是 2。
- Numpy 矩阵的 size 属性返回一个整数,表示矩阵的元素总数。例如,一个 shape 为 (3, 4) 的矩阵的 size 是 。
- Numpy 矩阵的 itemsize 属性返回一个整数,表示矩阵中每个元素所占的字节数。例如,一个 dtype 为 np.int32 的矩阵的 itemsize 是 。
- Numpy 矩阵的 data 属性返回一个缓冲区对象,表示矩阵中实际存储数据的内存地址。一般不直接访问这个属性,而是通过索引或切片来获取或修改矩阵元素。
- Numpy 矩阵支持使用 * 运算符进行矩阵乘法,而不是数组乘法。如果要进行数组乘法,可以使用 multiply() 方法或者 np.multiply() 函数。
- Numpy 矩阵支持使用 ** 运算符进行矩阵幂运算,而不是数组幂运算。如果要进行数组幂运算,可以使用 power() 方法或者 np.power() 函数。
- Numpy 矩阵有一些专门针对矩阵运算的方法,如 getA() 返回矩阵的数组形式,getI() 返回矩阵的逆矩阵,getT() 返回矩阵的转置矩阵等。
以下是一些创建和操作 Numpy 矩阵的例子:
# 导入 numpy 模块
import numpy as np
# 创建一个 2 行 3 列的整数矩阵
A = np.matrix([[1, 2, 3], [4, 5, 6]])
print(A) # 输出 [[1 2 3] [4 5 6]]
print(A.shape) # 输出 (2, 3)
print(A.dtype) # 输出 int32
print(A.ndim) # 输出 2
print(A.size) # 输出 6
print(A.itemsize) # 输出 4
# 创建一个 3 行 2 列的浮点数矩阵
B = np.mat([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
print(B) # 输出 [[1.0 ,2.0] [3.0 ,4.0] [5.0 ,6.0]]
print(B.shape) # 输出 (3, 2)
print(B.dtype) # 输出 float64
print(B.ndim) # 输出 2
print(B.size) # 输出 6
print(B.itemsize) # 输出 8
# 将一个数组转换为矩阵
C = np.array([[1, 2], [3, 4]])
D = np.asmatrix(C)
print(D) # 输出 [[1 2] [3 4]]
print(type(D)) # 输出 <class 'numpy.matrix'>
# 使用矩阵乘法运算符 *
E = A * B
print(E) # 输出 [[22.0 ,28.0] [49.0 ,64.0]]
# 使用矩阵幂运算符 **
F = D ** 2
print(F) # 输出 [[ 7 10] [15 22]]
# 使用矩阵的方法
G = D.getA() # 返回矩阵的数组形式
print(G) # 输出 [[1 2] [3 4]]
print(type(G)) # 输出 <class 'numpy.ndarray'>
H = D.getI() # 返回矩阵的逆矩阵
print(H) # 输出 [[-2. ,1. ] [ 1.5 ,-0.5]]
I = D.getT() # 返回矩阵的转置矩阵
print(I) # 输出 [[1 3] [2 4]]
猜你喜欢
- 2024-10-16 机器学习中应用的范数 机器学习中常见的超参照数调整
- 2024-10-16 有限元求解:结构应力法如何实现的网格不敏感呢?
- 2024-10-16 论利用粒子群算法求解测距定位方程
- 2024-10-16 推荐系统多样性——DPP篇 推荐系统的模型
- 2024-10-16 线性代数主要可以从几个角度去理解: (1)线性方程...
- 2024-10-16 numpy入门 day05 numpy eig
- 2024-10-16 python多进程矩阵计算的应用示例 python多进程队列
- 2024-10-16 计量课后5.4(大数据202230906137 HSl)
- 2024-10-16 TensorFlow 2:使用自编码器进行插值
- 2024-10-16 Matlab矩阵的简单操作 matlab如何进行矩阵运算
你 发表评论:
欢迎- 05-05从virsh当中学习QEMU/KVM启动命令
- 05-05Win10 BCD文件损坏怎么修复?(bcd文件损坏win7)
- 05-05亚马逊春节假期期间的店铺管理设置
- 05-051分钟总结常用k8s常用诊断教程(k8s常见故障)
- 05-05VisiPics重复图片查找软件中文汉化教程
- 05-05微服务的发布实现方式1灰度实现(微服务实现原理)
- 05-05轻松掌握Java多线程 - 第二章:线程的生命周期
- 05-05德拉诺之王邪DK报告:PVE向小测试及分析
- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)