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

NumPy 差分

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

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

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

示例:

1import numpy as np 2 3arr = np.array([10, 15, 25, 5]) 4 5newarr = np.diff(arr) 6 7print(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]

示例

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

1import numpy as np 2 3arr = np.array([10, 15, 25, 5]) 4 5newarr = np.diff(arr, n=2) 6 7print(newarr)

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

NumPy 最小公倍数(LCM)

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

示例:

1import numpy as np 2 3num1 = 4 4num2 = 6 5 6x = np.lcm(num1, num2) 7 8print(x)

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

在数组中找到最小公倍数

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

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

示例

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

1import numpy as np 2 3arr = np.array([3, 6, 9]) 4 5x = np.lcm.reduce(arr) 6 7print(x)

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

示例

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

1import numpy as np 2 3arr = np.arange(1, 11) 4 5x = np.lcm.reduce(arr) 6 7print(x)

NumPy 最大公约数(GCD)

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

示例:

1import numpy as np 2 3num1 = 6 4num2 = 9 5 6x = np.gcd(num1, num2) 7 8print(x)

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

在数组中找到最大公约数

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

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

示例

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

1import numpy as np 2 3arr = np.array([20, 8, 32, 36, 16]) 4 5x = np.gcd.reduce(arr) 6 7print(x)

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

NumPy 三角函数

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

示例:

1import numpy as np 2 3x = np.sin(np.pi/2) 4 5print(x)

示例

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

1import numpy as np 2 3arr = np.array([np.pi/2, np.pi/3, np.pi/4, np.pi/5]) 4 5x = np.sin(arr) 6 7print(x)

将角度转换为弧度

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

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

示例

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

1import numpy as np 2 3arr = np.array([90, 180, 270, 360]) 4 5x = np.deg2rad(arr) 6 7print(x)

将弧度转换为角度

示例

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

1import numpy as np 2 3arr = np.array([np.pi/2, np.pi, 1.5*np.pi, 2*np.pi]) 4 5x = np.rad2deg(arr) 6 7print(x)

查找角度

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

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

示例

找到 1.0 的角度:

1import numpy as np 2 3x = np.arcsin(1.0) 4 5print(x)

数组中每个值的角度

示例

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

1import numpy as np 2 3arr = np.array([1, -1, 0.1]) 4 5x = np.arcsin(arr) 6 7print(x)

斜边

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

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

示例

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

1import numpy as np 2 3base = 3 4perp = 4 5 6x = np.hypot(base, perp) 7 8print(x)

最后

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

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

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

点赞
收藏

评论区

加载中...

相关推荐

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

C语言基础习题50例(四)16-20

给大家介绍一堂Python入门课,感觉还不错,适合初学者入门。习题16输入两个正整数m和n,求其最大公约数和最小公倍数。实现思路:求两个数的最大公约数分别采用辗转相除法、辗转相减法、枚举法得到,最小公倍数用两个数之积除以最大公约数即可获得。方式一——辗转相除法:思路:(1)将两整数求余a%bx;(2)如果x0;则b为最大公

PYTHON 数据分析常用类库

numpy科学计算的基础包(1)快速高效多维的数组对象ndarray(2)对数组执行元素级的计算以及直接对数组执行数学运算的函数(3)读写硬盘上基于数组的数据集的工具(4)线性代数运算,傅里叶变换,以及随机数生成(5)将C、C、Fortran代码集成到pythonscipy专门解决科学计算中各种标准问题域的模块的集合

Python3.x:正则 re.findall()的用法

Python3.x:正则re.findall()的用法概念: 语法:findall(pattern,string,flags0) 说明:返回string中所有与pattern相匹配的全部字串,返回形式为数组)示例:python3impo

NumPy:数组批量计算

一、MumPy:数组计算1、NumPy是高性能科学计算和数据分析的基础包。它是pandas等其他各种工具的基础。2、NumPy的主要功能:ndarray,一个多维数组结构,高效且节省空间无需循环对整组数据进行快速运算的数学函数\读写磁盘数据的工具以及用于操作内存映射文件的工具\