Numpy简易教程5——创建NumPy矩阵

python教程(一):超详细的numpy矩阵操作和运算(附实例代码) 在NumPy中,张量是指具有多维数据结构的数组,通常扩展自二维矩阵。张量可以是 1D(向量)、2D(矩阵)、3D(例如彩色图像的表示)甚至是更高维度的数组。NumPy提供了多种方法来操作和计算张量,广泛应用于机器学习、深度学习、科学计算等领域。在NumPy中,张量本质上就是多维数组,使用np.array()函数可以创建不同维度的张量。 阅读详情
AI摘要

本文详细介绍了如何在NumPy中创建矩阵,包括使用mat、matrix和bmat函数创建,以及创建分块矩阵。还探讨了矩阵的运算,如矩阵与数的乘法、加法、减法和乘法,并展示了矩阵的属性,如转置、共轭转置、二维数组视图和逆矩阵。这些内容对于理解和操作NumPy中的矩阵至关重要。

创建NumPy矩阵

NumPy对于多维数组的运算,默认情况下并不进行矩阵运算。如果需要对数组进行矩阵运算,则可以调用相应的函数。

在NumPy中,矩阵是ndarray的子类。

在NumPy中,数组和矩阵有着重要的区别。NumPy提供了两个基本的对象:一个N维数组对象和一个通用函数对象。其他对象都是在它们之上构建的。

矩阵是继承自NumPy数组对象的二维数组对象。与数学概念中的矩阵一样,NumPy中的矩阵也是二维的。

1. 创建矩阵

可以使用mat、matrix以及bmat函数来创建矩阵。使用mat函数创建矩阵时,若输入matrix或ndarray对象,则不会为它们创建副本。因此,调用mat函数和调用matrix(data, copy=False)等价。

案例:创建矩阵
# 导入NumPy库
import numpy as np
# 使用分号隔开数据
matr1 = np.mat("1 2 3;4 5 6;7 8 9")
print('创建的矩阵为:',matr1)
# 使用列表创建矩阵
matr2 = np.matrix([[1,2,3],[4,5,6],[7,8,9]])
print('创建的矩阵为:',matr2)
创建的矩阵为: [[1 2 3]
 [4 5 6]
 [7 8 9]]
创建的矩阵为: [[1 2 3]
 [4 5 6]
 [7 8 9]]

2. 创建分块矩阵

很多时候会根据小的矩阵创建大的矩阵,即将小矩阵组合成大矩阵。在NumPy中,可以使用bmat分块矩阵(block matrix)函数实现。

案例:创建分块矩阵
arr1 = np.eye(3)
print('创建的数组1为:',arr1)

arr2 = 3*arr1
print('创建的数组2为:',arr2)

print('创建的矩阵为:',np.bmat("arr1 arr2; arr1 arr2"))
创建的数组1为: [[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
创建的数组2为: [[3. 0. 0.]
 [0. 3. 0.]
 [0. 0. 3.]]
创建的矩阵为: [[1. 0. 0. 3. 0. 0.]
 [0. 1. 0. 0. 3. 0.]
 [0. 0. 1. 0. 0. 3.]
 [1. 0. 0. 3. 0. 0.]
 [0. 1. 0. 0. 3. 0.]
 [0. 0. 1. 0. 0. 3.]]

3. 矩阵计算

在NumPy中,矩阵计算是针对整个矩阵中的每个元素进行的。与使用for循环相比,其在运算速度上更快。

案例:矩阵计算
matr1 = np.mat("1 2 3;4 5 6;7 8 9")  #创建矩阵
print('创建的矩阵为:',matr1)

matr2 = matr1*3  #矩阵与数相乘
print('创建的矩阵为:',matr2)
print('矩阵相加结果为:',matr1+matr2)  #矩阵相加
print('矩阵相减结果为:',matr1-matr2)  #矩阵相减
print('矩阵相乘结果为:',matr1*matr2)  #矩阵相乘
print('矩阵对应元素相乘结果为:',np.multiply(matr1,matr2))
创建的矩阵为: [[1 2 3]
 [4 5 6]
 [7 8 9]]
创建的矩阵为: [[ 3  6  9]
 [12 15 18]
 [21 24 27]]
矩阵相加结果为: [[ 4  8 12]
 [16 20 24]
 [28 32 36]]
矩阵相减结果为: [[ -2  -4  -6]
 [ -8 -10 -12]
 [-14 -16 -18]]
矩阵相乘结果为: [[ 90 108 126]
 [198 243 288]
 [306 378 450]]
矩阵对应元素相乘结果为: [[  3  12  27]
 [ 48  75 108]
 [147 192 243]]

4. 矩阵属性

除了能够实现各类运算外,矩阵还有其特有的属性。

属性说明
T返回自身的转置
H返回自身的共轭转置
I返回自身的逆矩阵
A返回自身数据的2维数组的一个视图
案例:矩阵的属性
print('矩阵转置结果为:',matr1.T)  #转置
print('矩阵共轭转置结果为:',matr1.H)  #共轭转置(实数的共轭就是其本身)
print('矩阵的二维数组结果为:',matr1.A)  #返回二维数组的视图
print('矩阵的逆矩阵结果为:',matr1.I)  #逆矩阵
矩阵转置结果为: [[ 2  1 -1]
 [ 2 -1  2]
 [ 3  0  1]]
矩阵共轭转置结果为: [[ 2  1 -1]
 [ 2 -1  2]
 [ 3  0  1]]
矩阵的二维数组结果为: [[ 2  2  3]
 [ 1 -1  0]
 [-1  2  1]]
矩阵的逆矩阵结果为: [[ 1. -4. -3.]
 [ 1. -5. -3.]
 [-1.  6.  4.]]
2.2 掌握 NumPy 矩阵与通用函数 ufunc函数是针对数组进行操作的,并且都以NumPy数组作为输出,因此不需要对数组中的每一个元素都进行操作。2、使用matrix函数创建矩阵:matr2 = np.matrix([[1, 2, 3],[4, 5, 6],[7, 8, 9]])3、有很多时候会根据小的矩阵创建大的矩阵,即将小矩阵组合成大矩阵。(3)如果输入数组的某个轴和输出数组的对应轴的长度相同或者其长度为1时,这个数组能够用来计算,否则出错。(4)当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值。矩阵相乘:matr1。 阅读详情

相关推荐

Numpy创建矩阵并等间隔抽取数据

1、利用Numpy创建向量或矩阵 1.1 创建向量 得到 需要强调的是,向量的维度,在python中并不是书本上所学的,而是 即只有9,向量的列数1,被置为空。 注意的是,无论是行向量还是列向量,维度都是(N,空) 由于列数是空,所以也就无法相乘 1.2 创建矩阵 ...

qq_42031142的博客 1万+

Python——创建NumPy矩阵

本文介绍了怎么创建NumPy矩阵和运算以及其属性,让我们更加了解了NumPy矩阵的作用。好处NumPy矩阵计算速度非常快,甚至比python内置的简单运算还要快,这使得它成为很多科学计算和数据分析的首选工具。

lcp561561的博客 2394

Tesseral 建立地震模型

0. 前言 本节内容主要是总结如何使用 Tesseral 工具建立模型。 1. 模型建立步骤 设置模型的宽度和深度 此处默认都为1000,之后点击“确定” 建立地层 绘制新的地层 右键点击“New polygon” 绘制地层,设置第二个层的名字和纵波速度 绘制第三层,第三层覆盖在前一个层上 第四层如上,第四层如果是最后一层,绘制该层时,要将深度1000包围。 设置观测系统 设置炮点 设置子波为雷克子波,频率设置为30 检波点设置 运行模型 设置好如上选择后,

weixin_41857483的博客 6540

【Numpy第一讲】如何生成矩阵,如何对矩阵进行加减乘除

【Numpy第一讲】如何生成矩阵,如何对矩阵进行加减乘除

Likely_X的博客 2533

5G-A无源物联网:深度解析“不插电“智能的底层技术原理

北京移动推出5G-A无源物联网技术,实现电动车标签"零功耗"运行。该技术通过射频能量收集(利用5G-A基站高功率信号转换为电能)和反向散射通信(调制反射信号传输数据)两大核心技术,使设备无需电池即可工作。5G-A相比4G在信号能量密度、通信速率和定位精度等方面显著提升,结合通感一体等创新技术,为无源物联网提供商用基础。该方案已在北京小区试点应用,实现电动车精准定位管理,标签寿命可达5年以上。专家预测,这项技术将大幅降低物联网部署成本,推动"万物智联"时代的到来。

通信行业老兵、物联网从业者,做一个有趣的普通人。 2014

告别降级CUDA!手把手教你为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly + vLLM推理环境

本文详细指导如何为RTX 50系显卡(5080/5090)配置专属的PyTorch Nightly和vLLM推理环境,特别针对CUDA 12.8的适配问题提供解决方案。从硬件准备到源码编译,再到模型部署与性能调优,手把手教你构建高效AI推理系统。

weixin_33724046的博客 409

python基础知识(十三):numpy库的基本用法

python的基础知识

菜yuan~的博客 3173

运维颠覆!一文解锁AI赋能运维实战秘籍,效率飙升!

将AI应用于运维工作是一场极具价值的变革,从故障预测与诊断到自动化任务执行,再到资源管理优化,AI都展现出巨大潜力。尽管在实践过程中会面临数据质量、模型复杂性等挑战,但通过合理的技术选型和解决方案,我们能够充分挖掘AI的优势,实现运维工作的高效、智能转型。持续探索和创新AI在运维领域的应用,将为企业的数字化发展提供坚实保障。在科技飞速发展的当下,运维领域正经历着深刻变革,AI的融入成为提升运维效率与质量的关键。本文将深入实战,带你领略AI如何在运维各环节大显身手,让你的运维工作开启智能高效新模式。

探索云原生与智能化驱动下的安全运维新范式。关注DevSecOps、可观测性、AIOps等前沿领域,与您共赴技术前沿。 401

【Python】numpy矩阵运算大全

因为课程需要,第一次这么彻底地接触numpy。虽闻名已久,但是真正使用numpy才感受到它的强大,发现它尤其适合数据分析与处理。这里根据自己的使用经验简单总结一下numpy在矩阵运算中的应用,之后也会根据自己的实践经历不断更新。

记录学习成长之路,进一寸有进一寸的欢喜 2万+

华为od 面试八股文_测试/测试开发_05_含答案

华为od 面试八股文_测试/测试开发_05_含答案

MISAYAONE的博客 2558

蓝桥杯第七届省赛试题--“模拟风扇控制系统”

题目要求 功能简述 “模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间,数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、单片机最小系统、按键输入和电机控制保护电路组成,系统框图如图 1 所示: 单总线驱动程序、CT107D 单片机考试平台电路原理图以及本题所涉及到的芯片数据手册,可参考计算机上的电子文档。程序流程图及相关工程文件请以考生...

qq_43280087的博客 2659

python numpy--矩阵的创建

一、创建矩阵 1.手动创建 语法:np.mat(‘str’) 函数创建矩阵,其中字符串的表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开。 a=np.mat('1 2 3;4 5 6;7 8 9') # 中间打逗号也可以 b=np.mat('1,2,3;4,5,6;7,8,9') 2.使用NumPy数组进行创建 (1)利用mat(ndArray)函数创建矩阵(利用reshape函数)...

qq_43287650的博客 5万+

VIIRS-NPP夜间灯光遥感数据下载和预处理

右侧搜索框搜索“按掩膜提取”,提取出夜光影像中国区域。将其转换为Albers积投影和重采样到400m。点击右上角Export,选择shp格式。最后点export导出就行。点击复制按钮,来到这个。,ctrl + v粘贴。将小于0.3的值置为0。下载好月合成产品后,

热爱分享,热爱记录 1万+

numpy矩阵乘法_NumPy矩阵乘法

numpy 矩阵乘法NumPy matrix multiplication can be done by the following three methods. NumPy矩阵乘法可以通过以下三种方法完成。 multiply(): element-wise matrix multiplication. multiple():逐元素矩阵乘法。 matmul(): matrix product o...

从零开始的教程世界 3万+

Ubuntu零基础入门到精通【1.1讲】:什么是 Ubuntu?一文带你彻底搞懂!

🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。

**My Coding Family** 5910

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Numpy 矩阵

数组a的最后一维上的所有元素与数组b的倒数第二位上的所有元素的乘积和: dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])。:设A是数域上的一个n阶矩阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E ,则我们称B是A的逆矩阵,而A则被称为可逆矩阵。numpy.dot() 对于两个一维的数组,计算的是这两个数组对应下标元素的乘积和(数学上称之为向量点积);例如有个 m 行 n 列的矩阵,使用 t() 函数就能转换为 n 行 m 列的矩阵。

2401_87862479的博客 2922

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

NumPy矩阵的创建、遍历与常见运算

numpy常用矩阵运算:创建、遍历、矩阵加减、矩阵乘积、矩阵Hadamard积(multiply)、矩阵内积、矩阵转置、矩阵求逆、矩阵求秩、矩阵求特征值和特征向量、矩阵求迹、矩阵求行和、列和、元素之和、列元素最大值、行元素最大值、列元素最小值、行元素最小值、矩阵分割、矩阵合并

飞机火车巴雷特的博客 8551

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

numpy创建单位矩阵和对角矩阵

在学习linear regression时经常处理的数据一般多是矩阵或者n维向量的数据形式,所以必须对矩阵有一定的认识基础。 numpy中创建单位矩阵借助identity()函数。更为准确的说,此函数创建的是一个n*n的单位数组,返回值的dtype=array数据形式。其中接受的参数有两个,第一个是n值大小,第二个为数据类型,一般为浮点型。单位数组的概念与单位矩阵相同,主对角线元素为1,其他元素均...

StriveHeisenberg的博客 5万+

掌握NumPy矩阵

使用函数可以轻松创建矩阵(二维数组),通过传入嵌套的列表或元组实现。虽然函数曾经用于创建矩阵对象,但由于性能和维护的原因,该函数在较新的NumPy版本中已被弃用,推荐使用创建ndarray对象来代替。函数允许通过字符串或块的列表来创建矩阵,但通常在实际应用中不常用。

ing11230的博客 1969

numpy矩阵的创建和运算

numpy的矩阵可以由矩阵,数组甚至列表转换而来,接下来看一下实例 import numpy as np # 创建矩阵 ---必须是二维的 # mat 生成矩阵的方法1 m1 = np.mat("1 2 3;4 5 6;7 8 9") m2 = np.mat([[1,2,3],[4,5,6],[7,8,9]]) # 可以将列表转化为矩阵 m3 = np.mat(np.array([[[1,2,...

9527 4200

Numpy中矩阵的基本操作

Numpy中矩阵的基本操作Numpy矩阵的创建矩阵属性查看及简单应用矩阵的运算随机生成矩阵及矩阵性质的查看矩阵的索引矩阵合并矩阵分割矩阵的的浅拷贝与深拷贝 Numpy python及numpy的一系列安装环境省略… numpy的介绍链接:https://numpy.org 直接代码配着注释操作,都是一些非常基础的操作。 矩阵的创建 # 导入numpy包 import numpy as np # 输...

Sakura_Logic的博客 3273

Numpy 数组及矩阵创建详解

numpy 数组及矩阵创建详解

bbaaa123的博客 2794

python numpy矩阵_NumPy创建matrix矩阵

12. NumPy创建matrix矩阵严格意义上讲ndarray数据类型应属数组而非矩阵,而matrix才是矩阵。12.1 matrix和ndarray区别矩阵matrix和array的区别主要有两点:1). 乘法规则有所不同, 如果是array那么乘法是对应元素的乘积作为结果对应位置上的值,而如果是matrix则需要满足第一个矩阵的列等于第二个矩阵的行的要求才能乘。import numpy as...

weixin_39517199的博客 1485

numpy教程:numpy中矩阵乘法讲解并举例

矩阵乘法:使用dot()matmul()或,遵循线性代数的矩阵内积规则。逐元素乘法:使用,对应位置元素逐一相乘。广播机制:Numpy 广播机制允许不同维度的数组进行矩阵乘法。

keyboard专栏 2657

python创建一个矩阵、值为0—8_python numpy--矩阵的创建

1.手动创建语法:np.mat(‘str’)函数创建矩阵,其中字符串的表示中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开。a=np.mat('1 2 3;4 5 6;7 8 9') # 中间打逗号也可以 b=np.mat('1,2,3;4,5,6;7,8,9')2.使用NumPy数组进行创建(1)利用mat(ndArray)函数创建矩阵(利用reshape函数)c=np.mat(np.a...

weixin_36462845的博客 4271

numpy 创建矩阵、组合矩阵

import numpy as np # 创建矩阵 m1 = np.mat("1 2 3;1 3 4;1 4 5") # print(m1) # print(type(m1)) m2 = np.mat([[2, 2, 3],[2, 3, 4],[2, 4, 5]]) # print(m2) # print(type(m2)) # print(m2.ndim) # matrix 是复制,浪费...

YPL_ZML的博客 1817
上一篇: Numpy简易教程4——变换数组的形态
下一篇: Numpy简易教程6——ufunc函数
mighty13
博客等级 码龄23年 728粉丝 438原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值