← 返回首页
掌握NumPy矩阵与通用函数
发表时间:2024-03-07 08:49:39
掌握NumPy矩阵与通用函数

在NumPy中,矩阵是ndarray的子类,且数组和矩阵有着重要的区别。

1.创建NumPy矩阵

NumPy提供了两个基本的对象,分别是N维数组对象和通用函数对象,其他对象都是在它们之上构建的。矩阵是继承自NumPy数组对象的二维数组对象。与数学概念中的矩阵一样,NumPy中的矩阵也是二维的。使用mat、matrix和bmat函数可创建矩阵。

当使用mat函数创建矩阵时,如果输入matrix或ndarray对象,那么不会创建相应副本。因此,调用mat函数和调用matrix(data, copy=False)函数等价。在大多数情况下,用户会根据小的矩阵来创建大的矩阵,即将小矩阵组合成大矩阵。在NumPy中,可以使用bmat分块矩阵(block matrix)函数实现。

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

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

注意:矩阵与数组完全不同的概念,矩阵与数组的区别:

矩阵(Matrix)和数组(Array)在数学和计算机科学中有着不同的概念和用途,尽管它们有时候会有一些重叠的地方。以下是它们的区别:

  1. 维度和形状:

  2. 数组(Array)是一种数据结构,它可以是一维的、二维的,甚至是多维的。数组可以具有任意的形状和大小,取决于其元素的排列方式。

  3. 矩阵(Matrix)是一种特定形式的二维数组,通常是一个矩形的排列,其中每行和每列都有固定的长度。矩阵通常用于表示线性代数中的向量、矩阵和线性变换等。

  4. 元素的含义:

  5. 数组(Array)中的元素可以是任何类型的数据,比如整数、浮点数、布尔值、对象等。

  6. 矩阵(Matrix)中的元素通常是数学上的标量,比如实数或复数。矩阵中的元素经常表示向量、点、线性变换的系数等。

  7. 操作和运算:

  8. 数组(Array)通常支持通用的数值计算操作,比如加法、乘法、元素级运算等。它们可以在不同维度之间执行各种操作。

  9. 矩阵(Matrix)通常支持线性代数运算,比如矩阵乘法、求逆、行列式计算等。这些操作通常是为了解决线性方程组、最小二乘问题、特征值分解等。

  10. 应用领域:

  11. 数组(Array)常用于通用的数据存储和处理,比如图像处理、信号处理、机器学习等。

  12. 矩阵(Matrix)在数学、工程、物理等领域中应用广泛,特别是在表示和解决线性方程组、线性变换、特征值分解等问题时。

尽管数组和矩阵有这些区别,但在某些编程语言或库中,矩阵可能只是特定形状的数组,并且它们的操作和用途可能与数组非常相似。

如何计算行列式? 首先行列式一定是个数值,行列式必须是方阵构成。通常二、三阶行列式使用对角线计算法。

如何求矩阵的逆矩阵?

通常使用伴随矩阵法。

矩阵可逆的条件主要包括以下几点:

2.掌握ufunc函数

常用的ufunc函数运算有四则运算、比较运算和逻辑运算等。