NumPy 差分、最小公倍数、最大公约数、三角函数详解

NumPy 差分

离散差分意味着相邻元素之间的减法。

例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1]

要找到离散差分,使用 diff() 函数。

示例:

python 复制代码
import numpy as np

arr = np.array([10, 15, 25, 5])

newarr = np.diff(arr)

print(newarr)

返回:[5 10 -20],因为 15-10=525-15=105-25=-20

我们可以通过给出参数 n 来重复执行此操作。

例如,对于 [1, 2, 3, 4]n = 2 时,离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1],然后,由于 n=2,我们将再次执行一次,得到新结果:[1-1, 1-1] = [0, 0]

示例

对以下数组进行两次离散差分:

python 复制代码
import numpy as np

arr = np.array([10, 15, 25, 5])

newarr = np.diff(arr, n=2)

print(newarr)

返回:[5 -30],因为:15-10=525-15=105-25=-20,而 10-5=5-20-10=-30

NumPy 最小公倍数(LCM)

最小公倍数是两个数的最小公倍数。

示例:

python 复制代码
import numpy as np

num1 = 4
num2 = 6

x = np.lcm(num1, num2)

print(x)

返回:12,因为这是这两个数的最小公倍数(4*3=126*2=12)。

在数组中找到最小公倍数

要找到数组中所有值的最小公倍数,可以使用 reduce() 方法。

reduce() 方法将对每个元素使用 ufunc,在本例中是 lcm() 函数,并将数组减少一个维度。

示例

找到以下数组值的最小公倍数:

python 复制代码
import numpy as np

arr = np.array([3, 6, 9])

x = np.lcm.reduce(arr)

print(x)

返回:18,因为这是所有三个数的最小公倍数(3*6=186*3=189*2=18)。

示例

找到包含从 110 的所有整数的数组中所有值的最小公倍数:

python 复制代码
import numpy as np

arr = np.arange(1, 11)

x = np.lcm.reduce(arr)

print(x)

NumPy 最大公约数(GCD)

最大公约数(GCD,也称为 HCF,即最高公因数)是两个数的最大公共因数。

示例:

python 复制代码
import numpy as np

num1 = 6
num2 = 9

x = np.gcd(num1, num2)

print(x)

返回:3,因为这是两个数都可以被整除的最大数(6/3=29/3=3)。

在数组中找到最大公约数

要找到数组中所有值的最大公约数,可以使用 reduce() 方法。

reduce() 方法将对每个元素使用 ufunc,在本例中是 gcd() 函数,并将数组减少一个维度。

示例

找到以下数组中所有数字的最大公约数:

python 复制代码
import numpy as np

arr = np.array([20, 8, 32, 36, 16])

x = np.gcd.reduce(arr)

print(x)

返回:4,因为这是所有值都可以被整除的最大数。

NumPy 三角函数

NumPy 提供了 sin()cos()tan() 等 ufunc,它们接受弧度值并生成相应的正弦、余弦和正切值。

示例:

python 复制代码
import numpy as np

x = np.sin(np.pi/2)

print(x)

示例

找到数组 arr 中所有值的正弦值:

python 复制代码
import numpy as np

arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5])

x = np.sin(arr)

print(x)

将角度转换为弧度

默认情况下,所有的三角函数都接受弧度作为参数,但是在 NumPy 中我们也可以将弧度和角度相互转换。

注意:弧度值是 pi/180 乘以角度值。

示例

将以下数组 arr 中的所有值转换为弧度:

python 复制代码
import numpy as np

arr = np.array([90, 180, 270, 360])

x = np.deg2rad(arr)

print(x)

将弧度转换为角度

示例

将以下数组 arr 中的所有值转换为角度:

python 复制代码
import numpy as np

arr = np.array([np.pi/2, np.pi, 1.5*np.pi, 2*np.pi])

x = np.rad2deg(arr)

print(x)

查找角度

从正弦、余弦、正切值查找角度。例如,sin、cos 和 tan 的反函数(arcsin、arccos、arctan)。

NumPy 提供了 arcsin()arccos()arctan() 等 ufunc,它们给出相应 sin、cos 和 tan 值的弧度值。

示例

找到 1.0 的角度:

python 复制代码
import numpy as np

x = np.arcsin(1.0)

print(x)

数组中每个值的角度

示例

找到数组中所有正弦值的角度:

python 复制代码
import numpy as np

arr = np.array([1, -1, 0.1])

x = np.arcsin(arr)

print(x)

斜边

在 NumPy 中使用勾股定理找到斜边。

NumPy 提供了 hypot() 函数,它接受底边和垂直边的值,并根据勾股定理生成斜边。

示例

找到底边为 4,垂直边为 3 的斜边:

python 复制代码
import numpy as np

base = 3
perp = 4

x = np.hypot(base, perp)

print(x)

最后

为了方便其他设备和平台的小伙伴观看往期文章:

微信公众号搜索:Let us Coding,关注后即可获取最新文章推送

看完如果觉得有帮助,欢迎点赞、收藏、关注

相关推荐
yeyuningzi4 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT22 分钟前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei27 分钟前
linux centos 安装redis
linux·redis·centos
进击的六角龙28 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
一只爱好编程的程序猿1 小时前
Java后台生成指定路径下创建指定名称的文件
java·python·数据下载
Aniay_ivy1 小时前
深入探索 Java 8 Stream 流:高效操作与应用场景
java·开发语言·python
gonghw4031 小时前
DearPyGui学习
python·gui
向阳12181 小时前
Bert快速入门
人工智能·python·自然语言处理·bert
engchina1 小时前
Neo4j 和 Python 初学者指南:如何使用可选关系匹配优化 Cypher 查询
数据库·python·neo4j
兆。1 小时前
掌握 PyQt5:从零开始的桌面应用开发
开发语言·爬虫·python·qt