在Python中计算三角函数(sin, cos, tan, arcsin, arccos, arctan) | 您所在的位置:网站首页 › 计算器arctan怎么算 › 在Python中计算三角函数(sin, cos, tan, arcsin, arccos, arctan) |
使用数学,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.4999999999999999430度的正弦是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 实验室设备网 版权所有 |