Numpy的Matrix常用功能(2)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、 Numpy的反矩阵和矩阵幂;
二、 Numpy的矩阵方程求解和Det;

一、 Numpy的反矩阵和矩阵幂

1.反矩阵和矩阵相乘等于单位矩阵,矩阵A的逆矩阵(有时称为倒数矩阵)是矩阵A ^(-1), 使得 AA ^(-1)= I,(I)是单位矩阵。

2.矩阵幂 对于方矩阵𝐴和正整数𝑘,通过反复将此矩阵自身相乘k次数来定义;

二、 Numpy的矩阵方程求解和Det

1.Solve功能用于求解矩阵对应的解。

2.Det行列式不是个"式"!它是个数!不要被行列式里的"式"字误导了,矩阵的行列式不是一个
式子,它是一个数字,是一个按行列式计算规则(只是乘和加运算)计算出来的数值。

3.Det这个数值有什么意义?对于二阶矩阵,它就是一个面积、对于三阶矩阵,它就是一个体积、 对于n维矩阵,它就是n维立体的体积。

三、实操案例

实验1 实战Numpy的反矩阵

逻辑:
在这里插入图片描述

公式:(除法变成乘法)
在这里插入图片描述

import  numpy as np
a= np.matrix('1,2;3,4')
print(a)
b = np.linalg.inv(a)  #反矩阵
print(b)

在这里插入图片描述
实验2 实战Numpy的矩阵幂

import  numpy as np
a= np.array([[1,2],[3,4]])
print(a)

b = np.linalg.matrix_power(a,2)  # 矩阵幂
print(b)
print(a.dot(a))                  # 函数是矩阵乘,自己乘以自己

b = np.linalg.matrix_power(a,0)  # 矩阵幂 0次方,等于1
print(b)

b = np.linalg.matrix_power(a,-1)  # 矩阵幂 负一 次方,与反矩阵一致。
print(b)

print(a.dot(b))                   # 矩阵与自己的负一次方相乘,结果为单位矩阵

在这里插入图片描述

实验3 实战Numpy的solve求解矩阵解

import  numpy as np
a= np.array([[3,1],[1,2]])
b = np.array([9,8])
c = np.linalg.solve(a,b)
print(c)

在这里插入图片描述

import  numpy as np
a= np.array([[3,1,5],[1,2,4],[4,6,3]])
b = np.array([100,90,80])
c = np.linalg.solve(a,b)
print(c)

在这里插入图片描述

实验4 实战Numpy的Det的计算

import  numpy as np
a= np.array([[0,4],[4,0]])
print(np.linalg.det(a))    # 二维求面积,负号代表方向

在这里插入图片描述

import  numpy as np
a= np.array([[0,0,4],[4,0,0],[0,4,0]])
print(np.linalg.det(a))    # 三维求体积

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: numpy中的matrix和array都是用来存储多维数组的数据结构,但是它们有一些区别。 1. matrix是二维数组,而array可以是任意维度的数组。 2. matrix只能进行矩阵运算,而array可以进行任意维度的数组运算。 3. matrix的乘法运算使用*符号,而array的乘法运算使用dot()函数。 4. matrix的切片返回的是一个matrix对象,而array的切片返回的是一个array对象。 5. matrix的转置使用T属性,而array的转置使用transpose()函数。 总的来说,如果你需要进行矩阵运算,那么使用matrix更方便;如果你需要进行任意维度的数组运算,那么使用array更方便。 ### 回答2: numpy中的matrix和array都是用来处理多维数组的数据结构,但它们有一些区别。 首先,matrix是一个二维数组,而array可以是任意维度的数组。这意味着matrix只能处理二维矩阵操作,而array可以处理任意维度的矩阵操作。 其次,matrix只能进行矩阵运算,而array可以进行矩阵运算和逐元素运算。也就是说,对于两个matrix对象进行乘法运算,会进行真正的矩阵乘法操作;而对于两个array对象进行乘法运算,会进行逐元素相乘操作。 此外,matrix对象具有一些特定的运算符重载。例如,通过`*`操作符进行矩阵乘法运算,使用`**`操作符进行矩阵的幂运算。 另外一个区别是matrix对象是一个子类,继承自numpy的ndarray对象。由于继承的关系,matrix对象拥有ndarray对象的所有方法和属性,同时还有一些matrix独有的方法。 虽然matrix具有一些特殊的性质和方法,但大多数情况下,使用array更加方便和灵活。这是因为在科学计算中,多维数组的操作通常不仅仅只涉及到矩阵运算。因此,通常建议优先使用array而不是matrix。 ### 回答3: NumPy中的matrix和array都是用于数值计算的数据结构,但它们在一些方面有一些不同。 首先,matrix是array的子类,因此可以使用array中的方法和功能。但matrix有一些额外的功能,使得它更适合于线性代数运算。例如,matrix可以使用*运算符实现矩阵乘法,而array对应的操作是使用multiply()函数。 其次,matrix是二维的数据结构,而array可以是任意维度的。这意味着创建一个matrix时,输入的数据必须是二维的,而创建一个array时可以是任意维度的。例如,使用matrix创建一个二维矩阵可以是matrix([[1, 2], [3, 4]]),但使用array创建一个二维数组可以是array([[1, 2], [3, 4]])。 此外,matrix具有固定的行和列的结构,因此在进行矩阵运算时,可以直接使用矩阵的行和列的标签进行索引,而不需要使用索引值。这使得代码更加直观和易读。 然而,array在其他方面的功能上比matrix更加灵活和强大。因为它可以是任意维度的,所以在处理高维数组或非线性代数操作时,array更加适用。同时,array也更加常用和广泛应用,因为它是NumPy中最基本的数据结构。 总之,matrix和array在功能和用途上有一些差异。如果需要进行线性代数运算或者处理二维数组,matrix是一个较好的选择;而如果需要处理任意维度的数组或者需要更灵活的操作,array更加合适。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值