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

这篇具有很好参考价值的文章主要介绍了Numpy简易教程5——创建NumPy矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创建NumPy矩阵

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

NumPy中,矩阵是ndarray的子类。

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

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

1. 创建矩阵

可以使用matmatrix以及bmat函数来创建矩阵。使用mat函数创建矩阵时,若输入matrixndarray对象,则不会为它们创建副本。因此,调用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. 矩阵属性

除了能够实现各类运算外,矩阵还有其特有的属性。文章来源地址https://www.toymoban.com/news/detail-402287.html

属性 说明
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.]]

到了这里,关于Numpy简易教程5——创建NumPy矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NumPy矩阵乘法

    矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵,如下图所示: 注意:必须确保第一个矩阵中的行数等于第二个矩阵中的列数,否则不能进行矩阵乘法运算。 图1:矩阵乘法 矩阵乘法运算被称为向量化操作,向量化

    2024年02月16日
    浏览(34)
  • Numpy数组和矩阵

    1.numpy 主要用于高维的数组运算,拥有运算速度快的 数学库 ;Numpy 支持常见的数组和矩阵操作 。Numpy 使用ndarray对象来处理多维数组 ,该对象是一个快速而灵活的大数据容器。 安装 windows: 升级 pip: 安装 Numpy库:(Ubuntu一样) 下载完成后可以在Python文件中 来测试是否安装成

    2023年04月08日
    浏览(56)
  • numpy拼接矩阵

    使用numpy的  concatenate 拼接矩阵,文档里面这样解释: (a1, a2, ...):连接的数组必须有一样的维度; axis:拼接的方向; out:预设输出矩阵的大小 ………… 首先给定两个矩阵: ①:在第一个矩阵后面加上第二个矩阵(加一列): 输出为: ②:以及在矩阵下面加一个全零行:

    2024年02月14日
    浏览(48)
  • numpy 随机生成矩阵

    np.random.randint(a, b, size=(c, d)): 注:a-b表示生成[a,b]数的范围,后面size表示生成矩阵的大小 np.random.rand(a, b) 注:通过本函数可以返回一个或者一组服从“0-1”分布的随机样本值。随机样本取值的范围为[0,1) 应用:在Dropout正则化方法中用到,可以用来生成dropout随机向量例如d3 =

    2024年02月11日
    浏览(41)
  • 使用 NumPy 随机生成矩阵

    使用 NumPy 随机生成矩阵 在科学计算领域中,随机数生成是一种常见的需求。在 Python 中,NumPy 库提供了众多生成随机矩阵的函数,可以轻松地实现随机数生成。本文将详细介绍 NumPy 中生成随机矩阵的各种方法。 np.random.rand() np.random.rand() 函数用于返回 [0, 1) 之间的随机浮点数

    2024年02月03日
    浏览(40)
  • Numpy矩阵拼接

    numpy矩阵拼接常用方法: np.append(arr,values,axis) np.concatenate(arrays,axis,out=None) np.stack(arrays,axis,out=None) np.hstack(tup) np.vstack(tup) 支持数组和数组或数组和数的拼接, 不支持三个及以上数组的拼接 参数: arr :需要被添加values的数组 values :添加到数组arr中的值 axis :可选参数,默认

    2024年02月05日
    浏览(37)
  • numpy 矩阵向量相除(python)

    下面看一个简单的例子就明白了

    2024年02月13日
    浏览(34)
  • python实现混淆矩阵(numpy)

    假设有A、B、C、D、E五个类别 step1:将pred和label进行一对一组合 Step2:遍历list_pred_label,将其中的类别转为混淆矩阵索引(A:0,B:1,C:2,D:3,E:4) step3:对混淆矩阵进行赋值

    2024年02月12日
    浏览(35)
  • numpy创建数组

    numpy中的数组,要么全是整形,要么全是字符串型,不能既有整形,又有字符串型如: 以上将数字也全部转为字符串 创建数组的方法: 1.使用np.array 2.使用np.range生成数组 3.使用np.random来创建数组 注意:(2,2)是一个元胞,[1,2]是数组 使用函数生成特殊的数组

    2024年02月12日
    浏览(40)
  • Python numpy - 数组与矩阵的运算

    目录  数组array 一 数组的函数 unique函数  sum函数  max函数 二 数组的加减 三 数组的乘除  矩阵matrix 一 矩阵的生成 二 矩阵的加减 三  矩阵的乘法 创建数组a和b用来运算(至少两个) 数组常用函数 函数 作用 unique() 求数组里的唯一值,输出从小到大排列 sum() 对数组整

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包