翼度科技»论坛 编程开发 python 查看内容

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

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
NumPy 差分

离散差分意味着相邻元素之间的减法。
例如,对于 [1, 2, 3, 4],离散差分将是 [2-1, 3-2, 4-3] = [1, 1, 1]
要找到离散差分,使用 diff() 函数。
示例:
  1. import numpy as np
  2. arr = np.array([10, 15, 25, 5])
  3. newarr = np.diff(arr)
  4. print(newarr)
复制代码
返回:[5 10 -20],因为 15-10=5,25-15=10,5-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]
示例

对以下数组进行两次离散差分:
  1. import numpy as np
  2. arr = np.array([10, 15, 25, 5])
  3. newarr = np.diff(arr, n=2)
  4. print(newarr)
复制代码
返回:[5 -30],因为:15-10=5,25-15=10,5-25=-20,而 10-5=5 和 -20-10=-30
NumPy 最小公倍数(LCM)

最小公倍数是两个数的最小公倍数。
示例:
  1. import numpy as np
  2. num1 = 4
  3. num2 = 6
  4. x = np.lcm(num1, num2)
  5. print(x)
复制代码
返回:12,因为这是这两个数的最小公倍数(4*3=12 和 6*2=12)。
在数组中找到最小公倍数

要找到数组中所有值的最小公倍数,可以使用 reduce() 方法。
reduce() 方法将对每个元素使用 ufunc,在本例中是 lcm() 函数,并将数组减少一个维度。
示例

找到以下数组值的最小公倍数:
  1. import numpy as np
  2. arr = np.array([3, 6, 9])
  3. x = np.lcm.reduce(arr)
  4. print(x)
复制代码
返回:18,因为这是所有三个数的最小公倍数(3*6=18,6*3=18 和 9*2=18)。
示例

找到包含从 1 到 10 的所有整数的数组中所有值的最小公倍数:
  1. import numpy as np
  2. arr = np.arange(1, 11)
  3. x = np.lcm.reduce(arr)
  4. print(x)
复制代码
NumPy 最大公约数(GCD)

最大公约数(GCD,也称为 HCF,即最高公因数)是两个数的最大公共因数。
示例:
  1. import numpy as np
  2. num1 = 6
  3. num2 = 9
  4. x = np.gcd(num1, num2)
  5. print(x)
复制代码
返回:3,因为这是两个数都可以被整除的最大数(6/3=2 和 9/3=3)。
在数组中找到最大公约数

要找到数组中所有值的最大公约数,可以使用 reduce() 方法。
reduce() 方法将对每个元素使用 ufunc,在本例中是 gcd() 函数,并将数组减少一个维度。
示例

找到以下数组中所有数字的最大公约数:
  1. import numpy as np
  2. arr = np.array([20, 8, 32, 36, 16])
  3. x = np.gcd.reduce(arr)
  4. print(x)
复制代码
返回:4,因为这是所有值都可以被整除的最大数。
NumPy 三角函数

NumPy 提供了 sin()、cos() 和 tan() 等 ufunc,它们接受弧度值并生成相应的正弦、余弦和正切值。
示例:
  1. import numpy as np
  2. x = np.sin(np.pi/2)
  3. print(x)
复制代码
示例

找到数组 arr 中所有值的正弦值:
  1. import numpy as np
  2. arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5])
  3. x = np.sin(arr)
  4. print(x)
复制代码
将角度转换为弧度

默认情况下,所有的三角函数都接受弧度作为参数,但是在 NumPy 中我们也可以将弧度和角度相互转换。
注意:弧度值是 pi/180 乘以角度值。
示例

将以下数组 arr 中的所有值转换为弧度:
  1. import numpy as np
  2. arr = np.array([90, 180, 270, 360])
  3. x = np.deg2rad(arr)
  4. print(x)
复制代码
将弧度转换为角度

示例

将以下数组 arr 中的所有值转换为角度:
  1. import numpy as np
  2. arr = np.array([np.pi/2, np.pi, 1.5*np.pi, 2*np.pi])
  3. x = np.rad2deg(arr)
  4. print(x)
复制代码
查找角度

从正弦、余弦、正切值查找角度。例如,sin、cos 和 tan 的反函数(arcsin、arccos、arctan)。
NumPy 提供了 arcsin()、arccos() 和 arctan() 等 ufunc,它们给出相应 sin、cos 和 tan 值的弧度值。
示例

找到 1.0 的角度:
  1. import numpy as np
  2. x = np.arcsin(1.0)
  3. print(x)
复制代码
数组中每个值的角度

示例

找到数组中所有正弦值的角度:
  1. import numpy as np
  2. arr = np.array([1, -1, 0.1])
  3. x = np.arcsin(arr)
  4. print(x)
复制代码
斜边

在 NumPy 中使用勾股定理找到斜边。
NumPy 提供了 hypot() 函数,它接受底边和垂直边的值,并根据勾股定理生成斜边。
示例

找到底边为 4,垂直边为 3 的斜边:
  1. import numpy as np
  2. base = 3
  3. perp = 4
  4. x = np.hypot(base, perp)
  5. print(x)
复制代码
最后

为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注

来源:https://www.cnblogs.com/xiaowange/p/18253096
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具