NumPy 数学函数怎么用?有哪些常用数学运算?

文章导读
Previous Quiz Next NumPy 数学函数 NumPy 提供了一系列数学函数,这些函数对于在数组上执行数值运算至关重要。这些函数包括基本的算术运算、三角函数、指数函数、对数函数和统计运算等。
📋 目录
  1. NumPy 数学函数
  2. 基本算术运算
  3. 三角函数
  4. 指数和对数函数
  5. NumPy 中的统计函数
  6. 线性代数函数
A A

NumPy - 数学函数



Previous
Quiz
Next

NumPy 数学函数

NumPy 提供了一系列数学函数,这些函数对于在数组上执行数值运算至关重要。这些函数包括基本的算术运算、三角函数、指数函数、对数函数和统计运算等。

在本教程中,我们将探讨 NumPy 中最常用的数学函数,并通过示例帮助您理解它们的用法。

基本算术运算

在 NumPy 中,基本算术运算包括数组的加法、减法、乘法和除法。这些运算是逐元素的,即对数组中每个对应的元素分别应用运算。

例如,将两个数组相加会生成一个新数组,其中每个元素是输入数组对应元素之和。

NumPy 还支持标量运算,允许您直接将一个数字应用到数组的每个元素。

示例:加法、减法、乘法和除法

在以下示例中,我们对两个 NumPy 数组执行基本的算术运算,如加法、减法、乘法和除法 −

import numpy as np

# 定义两个数组
a = np.array([10, 20, 30])
b = np.array([5, 10, 15])

# 执行基本算术运算
addition = a + b
subtraction = a - b
multiplication = a * b
division = a / b

print("Addition:", addition)
print("Subtraction:", subtraction)
print("Multiplication:", multiplication)
print("Division:", division)

输出结果如下所示 −

Addition: [15 30 45]
Subtraction: [ 5 10 15]
Multiplication: [ 50 200 450]
Division: [2. 2. 2.]

三角函数

NumPy 还提供了几个函数来对数组执行三角运算。这些包括基本的三角函数,如 sine、正弦、cosine、余弦和 tangent、正切,它们对数组进行逐元素运算。

示例:正弦、余弦和正切

让我们探讨如何在 NumPy 中计算数组的正弦、余弦和正切 −

import numpy as np

# 定义一个以弧度为单位的角数组
angles = np.array([0, np.pi/4, np.pi/2, np.pi])

# 计算正弦、余弦和正切
sine_values = np.sin(angles)
cosine_values = np.cos(angles)
tangent_values = np.tan(angles)

print("Sine values:", sine_values)
print("Cosine values:", cosine_values)
print("Tangent values:", tangent_values)

得到以下输出 −

Sine values: [0.00000000e+00 7.07106781e-01 1.00000000e+00 1.22464680e-16]
Cosine values: [ 1.00000000e+00  7.07106781e-01  6.12323400e-17 -1.00000000e+00]
Tangent values: [ 0.00000000e+00  1.00000000e+00  1.63312394e+16 -1.22464680e-16]
注意,pi/2 的正切是无穷大,因为 pi/2 的余弦为零,除以零是未定义的。

指数和对数函数

NumPy 还提供了计算指数值和对数值的函数,这些函数在各种科学和工程计算中都有应用。这些函数允许您计算数组的幂、次方和对数。

指数运算

numpy.exp() 函数计算输入数组中所有元素的指数。以下是一个示例 −

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3])

# 计算数组的指数
exp_array = np.exp(arr)
print("指数值:", exp_array)

这将产生以下结果 −

Exponential values: [ 2.71828183  7.3890561  20.08553692]

对数

NumPy 提供了 numpy.log() 函数用于计算自然对数(底数 e),以及 numpy.log10() 函数用于计算以 10 为底的对数。以下是一个示例 −

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 10])

# 计算自然对数和以 10 为底的对数
log_array = np.log(arr)
log10_array = np.log10(arr)

print("自然对数值:", log_array)
print("以 10 为底的对数值:", log10_array)

以上代码的输出如下 −

Natural logarithm values: [0.         0.69314718 2.30258509]
Base-10 logarithm values: [0.      0.30103 1.     ]

NumPy 中的统计函数

NumPy 还提供了多种统计函数,包括计算均值、中位数、方差、标准差等。这些函数在分析数据和对数组进行统计分析时非常有用。

均值和中位数

numpy.mean() 函数计算算术均值,numpy.median() 函数计算数组的中位数,如以下示例所示 −

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])

# 计算数组的均值和中位数
mean_value = np.mean(arr)
median_value = np.median(arr)

print("均值:", mean_value)
print("中位数:", median_value)

得到的输出如下所示 −

Mean value: 3.0
Median value: 3.0

标准差和方差

numpy.std() 函数计算标准差,numpy.var() 函数计算数组的方差 −

import numpy as np

# 创建一个数组
arr = np.array([1, 2, 3, 4, 5])

# 计算标准差和方差
std_dev = np.std(arr)
variance = np.var(arr)

print("标准差:", std_dev)
print("方差:", variance)

执行以上代码后,我们得到以下输出 −

Standard Deviation: 1.4142135623730951
Variance: 2.0

线性代数函数

NumPy 还提供了一组线性代数函数,例如矩阵乘法、点积和矩阵行列式,这些函数对于向量和矩阵的操作非常重要。

点积

numpy.dot() 函数用于计算两个数组的点积。它常用于机器学习、物理学和工程领域 −

import numpy as np

# 创建两个数组
arr1 = np.array([1, 2])
arr2 = np.array([3, 4])

# 计算点积
dot_product = np.dot(arr1, arr2)
print("Dot product:", dot_product)

输出结果如下 −

Dot product: 11

矩阵乘法

NumPy 中的矩阵乘法使用 @ 运算符或 numpy.matmul() 函数执行。它计算两个数组的点积,其中第一个矩阵的列数必须等于第二个矩阵的行数。

结果是一个新矩阵,其中每个元素是对应行和列元素的乘积之和。矩阵乘法常用于线性代数和机器学习任务。

示例

在本示例中,矩阵 A 乘以矩阵 B 得到矩阵 C,其中每个元素通过 A 的行和 B 的列的点积计算 −

import numpy as np

# 定义两个矩阵
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 执行矩阵乘法
C = np.matmul(A, B)

# 打印结果
print(C)

输出结果如下 −

[[19 22]
 [43 50]]