在Python中计算三角函数(sin, cos, tan, arcsin, arccos, arctan) 您所在的位置:网站首页 计算器arctan怎么算 在Python中计算三角函数(sin, cos, tan, arcsin, arccos, arctan)

在Python中计算三角函数(sin, cos, tan, arcsin, arccos, arctan)

2024-07-01 05:27| 来源: 网络整理| 查看: 265

使用数学,Python的数学函数标准模块,你可以计算三角函数(sin、cos、tan)和反三角函数(arcsin、arccos、arctan)。

Trigonometric functions — Mathematical functions — Python 3.10.4 Documentation

在此对以下内容进行解释,并附有示例代码。

Pi (3.1415926.):math.pi角度转换(弧度、度)。:math.degrees(),math.radians()正弦,反正弦:math.sin(),math.asin()余弦,反余弦:math.cos(),math.acos()正切,反切:math.tan(),math.atan(),math.atan2()下面的差异:math.atan(),math.atan2()Pi (3.1415926.): math.pi角度转换(弧度、度)。: math.degrees(), math.radians()正弦,反正弦: math.sin(), math.asin()余弦,反余弦: math.cos(), math.acos()正切,反切: math.tan(), math.atan(), math.atan2()math.atan()和math.atan2()的区别Pi (3.1415926.): math.pi

在数学模块中,Pi是作为一个常数提供的。它的表达方式如下。math.pi

import math print(math.pi) # 3.141592653589793 角度转换(弧度、度)。: math.degrees(), math.radians()

数学模块中的三角和反三角函数使用弧度作为角度的单位。

Radian – 维基百科

使用math.degrees()和math.radians()在弧度(弧度法)和度数(度数法)之间转换。

Math.degree()将弧度转换为度数,而math.radians()将度数转换为弧度。

print(math.degrees(math.pi)) # 180.0 print(math.radians(180)) # 3.141592653589793 正弦,反正弦: math.sin(), math.asin()

求正弦(sin)的函数是math.sin(),求反正弦(arcsin)的函数是math.asin()。

下面是一个寻找30度正弦的例子,使用math.radians()将度数转换成弧度。

sin30 = math.sin(math.radians(30)) print(sin30) # 0.49999999999999994

30度的正弦是0.5,但有一个误差,因为π是一个无理数,无法准确计算。

如果你想四舍五入到适当的位数,请使用round()函数或 format()方法或 format()函数。

请注意,round()的返回值是一个数字(int或float),但format()的返回值是一个字符串。如果你想在后续计算中使用它,请使用round()。

print(round(sin30, 3)) print(type(round(sin30, 3))) # 0.5 # print('{:.3}'.format(sin30)) print(type('{:.3}'.format(sin30))) # 0.5 # print(format(sin30, '.3')) print(type(format(sin30, '.3'))) # 0.5 #

round()函数将小数点后的数字作为其第二个参数。请注意,这不是严格意义上的四舍五入。详见以下文章。

相关的。在Python中对小数和整数进行四舍五入:round(),Decimal.quantize()

format()方法和format()函数指定了格式化规范字符串中的小数位数。详见以下文章。

相关的。Python中的格式转换,格式(0填充、指数符号、十六进制等)。

如果你想比较,你也可以使用math.isclose()。

print(math.isclose(sin30, 0.5)) # True

同样,这里有一个寻找0.5的反正弦的例子。math.asin()返回弧度,用math.degree()转换为度。

asin05 = math.degrees(math.asin(0.5)) print(asin05) # 29.999999999999996 print(round(asin05, 3)) # 30.0 余弦,反余弦: math.cos(), math.acos()

求余弦(cos)的函数是math.cos(),求反余弦(弧形余弦,arccos)的函数是math.acos()。

下面是一个寻找60度的余弦和0.5的反余弦的例子。

print(math.cos(math.radians(60))) # 0.5000000000000001 print(math.degrees(math.acos(0.5))) # 59.99999999999999

如果你希望四舍五入到合适的数字,你可以像正弦一样使用round()或format()。

正切,反切: math.tan(), math.atan(), math.atan2()

求正切(tan)的函数是math.tan(),而求反切(arctan)的函数是math.atan()或math.atan2()。Math.atan2()将在后面介绍。

下面是一个寻找45度正切和1度反切的例子。

print(math.tan(math.radians(45))) # 0.9999999999999999 print(math.degrees(math.atan(1))) # 45.0 math.atan()和math.atan2()的区别

math.atan()和math.atan2()都是返回反正切的函数,但它们在参数数量和返回值范围上有所不同。

math.atan(x)有一个参数,返回弧度的arctan(x)。返回值将在-pi\2和pi\2之间(-90到90度)。

print(math.degrees(math.atan(0))) # 0.0 print(math.degrees(math.atan(1))) # 45.0 print(math.degrees(math.atan(-1))) # -45.0 print(math.degrees(math.atan(math.inf))) # 90.0 print(math.degrees(math.atan(-math.inf))) # -90.0

在上面的例子中,math.inf代表无穷大。

math.atan2(y, x)有两个参数,返回弧度的arctan(y\x)。这个角度是原点到坐标(x,y)的矢量与极坐标平面中x轴的正方向所成的角度(偏角),返回值在-pi和pi之间(-180到180度)。

由于第二和第三象限的角度也可以正确得到,所以在考虑极坐标平面时,math.atan2()比math.atan()更合适。

注意,参数的顺序是y,x,而不是x,y。

print(math.degrees(math.atan2(0, 1))) # 0.0 print(math.degrees(math.atan2(1, 1))) # 45.0 print(math.degrees(math.atan2(1, 0))) # 90.0 print(math.degrees(math.atan2(1, -1))) # 135.0 print(math.degrees(math.atan2(0, -1))) # 180.0 print(math.degrees(math.atan2(-1, -1))) # -135.0 print(math.degrees(math.atan2(-1, 0))) # -90.0 print(math.degrees(math.atan2(-1, 1))) # -45.0

如上面的例子,x轴的负方向(y为零,x为负)是pi(180度),但当y为负零时,它是-pi(-180度)。如果你想严格处理符号,请注意。

print(math.degrees(math.atan2(-0.0, -1))) # -180.0

负零是以下操作的结果

print(-1 / math.inf) # -0.0 print(-1.0 * 0.0) # -0.0

整数不作为负零处理。

print(-0.0) # -0.0 print(-0) # 0

即使x和y都是零,结果也取决于符号。

print(math.degrees(math.atan2(0.0, 0.0))) # 0.0 print(math.degrees(math.atan2(-0.0, 0.0))) # -0.0 print(math.degrees(math.atan2(-0.0, -0.0))) # -180.0 print(math.degrees(math.atan2(0.0, -0.0))) # 180.0

还有一些例子,结果的符号会根据负零而改变,如math.atan2()以及math.sin()、math.asin()、math.tan()和math.atan()。

print(math.sin(0.0)) # 0.0 print(math.sin(-0.0)) # -0.0 print(math.asin(0.0)) # 0.0 print(math.asin(-0.0)) # -0.0 print(math.tan(0.0)) # 0.0 print(math.tan(-0.0)) # -0.0 print(math.atan(0.0)) # 0.0 print(math.atan(-0.0)) # -0.0 print(math.atan2(0.0, 1.0)) # 0.0 print(math.atan2(-0.0, 1.0)) # -0.0

注意,到目前为止的例子是在CPython中运行程序的结果。请注意,其他实现或环境可能会以不同方式处理负零。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有