D
Donix
Новичок
Пользователь
-
- Сен 23, 2021
-
- 13
-
- 0
-
- 1
-
Окт 13, 2021
-
#1
Как вычислить котангенс (ctg)?
2
R
regnor
Модератор
Команда форума
Модератор
-
- Июл 7, 2020
-
- 2 406
-
- 423
-
- 83
-
Окт 13, 2021
-
#3
Python:
import math
def ctg(x):
return 1 / math.tan(x)
или
Python:
import math
def ctg(x):
return math.cos(x) / math.sin(x)
1
F
Fikus02
Новичок
Пользователь
-
- Окт 13, 2021
-
- 1
-
- 0
-
- 1
-
Окт 13, 2021
-
#2
Сначала нужно найти синус и косинус. После, разделить косинус на синус. Вот и прогодилась геометрия.
0
R
regnor
Модератор
Команда форума
Модератор
-
- Июл 7, 2020
-
- 2 406
-
- 423
-
- 83
-
Апр 13, 2023
-
#5
Саидшо сказал(а):
Python:
Y=ctg+lnarctg^2x^2
Java:
Y=ctg+lnarctg^2x^2
Нажмите, чтобы раскрыть…
что это?
-1
С
Саидшо
Новичок
Пользователь
-
- Апр 13, 2023
-
- 1
-
- 0
-
- 1
-
Апр 13, 2023
-
#4
Python:
Y=ctg+lnarctg^2x^2
Java:
Y=ctg+lnarctg^2x^2
В этом разделе представлены тригонометрические функции модуля math
.
Содержание:
- Функция
math.sin()
; - Функция
math.cos()
; - Функция
math.tan()
; - Функция
math.asin()
; - Функция
math.acos()
; - Функция
math.atan()
; - Функция
math.atan2()
; - Функция
math.hypot()
.
math.sin(x)
:
Функция math.sin()
возвращает синус угла x
значение которого задано в радианах.
>>> from math import * >>> sin(pi/2) # 1.0 >>> sin(pi/4) # 0.7071067811865475)
math.cos(x)
:
Функция math.cos()
возвращает косинус угла x
значение которого задано в радианах.
>>> from math import * >>> cos(pi/3) # 0.5000000000000001 >>> cos(pi) # -1.0
math.tan(x)
:
Функция math.tan()
возвращает тангенс угла x
значение которого задано в радианах.
>>>from math import * >>> tan(pi/3) # 1.7320508075688767 >>> tan(pi/4) # 0.9999999999999999
При определенных значениях углов тангенс должен быть равен либо −∞
либо +∞
, скажем tan(3π/2)=+∞
, a tan(−π/2)=−∞
, но вместо этого мы получаем либо очень большие либо очень маленькие значения типа float
:
>>> tan(-pi/2) # -1.633123935319537e+16 >>> tan(3*pi/2) # должно быть Inf, но # 5443746451065123.0
math.asin(x)
:
Функция math.asin()
возвращает арксинус значения x
, т. е. такое значение угла y
, выраженного в радианах при котором sin(y) = x
.
>>> from math import * >>> asin(sin(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988
math.acos(x)
:
Функция math.acos()
возвращает арккосинус значения x
, т. е. возвращает такое значение угла y
, выраженного в радианах, при котором cos(y) = x
.
>>> from math import * >>> acos(cos(pi/6)) 0.5235987755982987 >>> pi/6 0.5235987755982988
math.atan(x)
:
Функция math.atan()
возвращает арктангенс значения x
, т. е. возвращает такое значение угла y
, выраженного в радианах, при котором tan(y) = x
.
>>> from math import * >>> atan(tan(pi/6)) # 0.5235987755982988 >>> pi/6 # 0.5235987755982988
math.atan2(y, x)
:
Функция math.atan2()
возвращает арктангенс значения y/x
, т. е. возвращает такое значение угла z
, выраженного в радианах, при котором tan(z) = x
. Результат находится между -pi
и pi
.
>>> from math import * >>> y = 1 >>> x = 2 >>> atan2(y, x) # 0.4636476090008061 >>> atan(y/x) # 0.4636476090008061 >>> tan(0.4636476090008061) # 0.49999999999999994
Данная функция, в отличие от функции math.atan()
, способна вычислить правильный квадрант в котором должно находиться значение результата. Это возможно благодаря тому, что функция принимает два аргумента (x, y)
координаты точки, которая является концом отрезка начатого в начале координат. Сам по себе, угол между этим отрезком и положительным направлением оси X не несет информации о том где располагается конец этого отрезка, что приводит к одинаковому значению арктангенса, для разных отрезков, но функция math.atan2()
позволяет избежать этого, что бывает очень важно в целом ряде задач. Например, atan(1)
и atan2(1, 1)
оба имеют значение pi/4, но atan2(-1, -1)
равно -3 * pi / 4
.
math.hypot(*coordinates)
:
Функция math.hypot()
возвращает евклидову норму, sqrt(sum(x**2 for x in coordinates))
. Это длина вектора от начала координат до точки, заданной координатами.
Для двумерной точки (x, y)
это эквивалентно вычислению гипотенузы прямоугольного треугольника с использованием теоремы Пифагора sqrt(x*x + y*y)
.
Изменено в Python 3.8: Добавлена поддержка n-мерных точек. Раньше поддерживался только двумерный случай.
Sometimes when working with some kind of financial or scientific projects it becomes necessary to implement mathematical calculations in the project. Python provides the math module to deal with such calculations. Math module provides functions to deal with both basic operations such as addition(+), subtraction(-), multiplication(*), division(/) and advance operations like trigonometric, logarithmic, exponential functions.
In this article, we learn about the math module from basics to advance using the help of a huge dataset containing functions explained with the help of good examples.
Constants provided by the math module
Math module provides various the value of various constants like pi, tau. Having such constants saves the time of writing the value of each constant every time we want to use it and that too with great precision. Constants provided by the math module are –
- Euler’s Number
- Pi
- Tau
- Infinity
- Not a Number (NaN)
Let’s see each constant in detail.
Euler’s Number
The math.e constant returns the Euler’s number: 2.71828182846.
Syntax:
math.e
Example:
Python3
import
math
print
(math.e)
Output:
2.718281828459045
Pi
You all must be familiar with pi. The pi is depicted as either 22/7 or 3.14. math.pi provides a more precise value for the pi.
Syntax:
math.pi
Example 1:
Python3
import
math
print
(math.pi)
Output:
3.141592653589793
Example 2: Let’s find the area of the circle
Python3
import
math
r
=
4
pie
=
math.pi
print
(pie
*
r
*
r)
Output:
50.26548245743669
Tau
Tau is defined as the ratio of the circumference to the radius of a circle. The math.tau constant returns the value tau: 6.283185307179586.
Syntax:
math.tau
Example:
Python3
import
math
print
(math.tau)
Output:
6.283185307179586
Infinity
Infinity basically means something which is never-ending or boundless from both directions i.e. negative and positive. It cannot be depicted by a number. The math.inf constant returns of positive infinity. For negative infinity, use -math.inf.
Syntax:
math.inf
Example 1:
Python3
import
math
print
(math.inf)
print
(
-
math.inf)
Output:
inf -inf
Example 2: Comparing the values of infinity with the maximum floating point value
Python3
import
math
print
(math.inf >
10e108
)
print
(
-
math.inf <
-
10e108
)
Output:
True True
NaN
The math.nan constant returns a floating-point nan (Not a Number) value. This value is not a legal number. The nan constant is equivalent to float(“nan”).
Example:
Python3
import
math
print
(math.nan)
Output:
nan
Numeric Functions
In this section, we will deal with the functions that are used with number theory as well as representation theory such as finding the factorial of a number.
Finding the ceiling and the floor value
Ceil value means the smallest integral value greater than the number and the floor value means the greatest integral value smaller than the number. This can be easily calculated using the ceil() and floor() method respectively.
Example:
Python3
import
math
a
=
2.3
print
(
"The ceil of 2.3 is : "
, end
=
"")
print
(math.ceil(a))
print
(
"The floor of 2.3 is : "
, end
=
"")
print
(math.floor(a))
Output:
The ceil of 2.3 is : 3 The floor of 2.3 is : 2
Finding the factorial of the number
Using the factorial() function we can find the factorial of a number in a single line of the code. An error message is displayed if number is not integral.
Example:
Python3
import
math
a
=
5
print
(
"The factorial of 5 is : "
, end
=
"")
print
(math.factorial(a))
Output:
The factorial of 5 is : 120
Finding the GCD
gcd() function is used to find the greatest common divisor of two numbers passed as the arguments.
Example:
Python3
import
math
a
=
15
b
=
5
print
(
"The gcd of 5 and 15 is : "
, end
=
"")
print
(math.gcd(b, a))
Output:
The gcd of 5 and 15 is : 5
Finding the absolute value
fabs() function returns the absolute value of the number.
Example:
Python3
import
math
a
=
-
10
print
(
"The absolute value of -10 is : "
, end
=
"")
print
(math.fabs(a))
Output:
The absolute value of -10 is : 10.0
Refer to the below article to get detailed information about the numeric functions.
- Mathematical Functions in Python | Set 1 (Numeric Functions)
Logarithmic and Power Functions
Power functions can be expressed as x^n where n is the power of x whereas logarithmic functions are considered as the inverse of exponential functions.
Finding the power of exp
exp() method is used to calculate the power of e i.e. or we can say exponential of y.
Example:
Python3
import
math
test_int
=
4
test_neg_int
=
-
3
test_float
=
0.00
print
(math.exp(test_int))
print
(math.exp(test_neg_int))
print
(math.exp(test_float))
Output:
54.598150033144236 0.049787068367863944 1.0
Finding the power of a number
pow() function computes x**y. This function first converts its arguments into float and then computes the power.
Example:
Python3
print
(
"The value of 3**4 is : "
,end
=
"")
print
(
pow
(
3
,
4
))
Output:
The value of 3**4 is : 81.0
Finding the Logarithm
- log() function returns the logarithmic value of a with base b. If the base is not mentioned, the computed value is of the natural log.
- log2(a) function computes value of log a with base 2. This value is more accurate than the value of the function discussed above.
- log10(a) function computes value of log a with base 10. This value is more accurate than the value of the function discussed above.
Python3
import
math
print
(
"The value of log 2 with base 3 is : "
, end
=
"")
print
(math.log(
2
,
3
))
print
(
"The value of log2 of 16 is : "
, end
=
"")
print
(math.log2(
16
))
print
(
"The value of log10 of 10000 is : "
, end
=
"")
print
(math.log10(
10000
))
Output:
The value of log 2 with base 3 is : 0.6309297535714574 The value of log2 of 16 is : 4.0 The value of log10 of 10000 is : 4.0
Finding the Square root
sqrt() function returns the square root of the number.
Example:
Python3
import
math
print
(math.sqrt(
0
))
print
(math.sqrt(
4
))
print
(math.sqrt(
3.5
))
Output:
0.0 2.0 1.8708286933869707
Refer to the below article to get detailed information about the Logarithmic and Power Functions
- Mathematical Functions in Python | Set 2 (Logarithmic and Power Functions)
Trigonometric and Angular Functions
You all must know about Trigonometric and how it may become difficult to find the values of sine and cosine values of any angle. Math module provides built-in functions to find such values and even to change the values between degrees and radians.
Finding sine, cosine, and tangent
sin(), cos(), and tan() functions returns the sine, cosine, and tangent of value passed as the argument. The value passed in this function should be in radians.
Example:
Python3
import
math
a
=
math.pi
/
6
print
(
"The value of sine of pi/6 is : "
, end
=
"")
print
(math.sin(a))
print
(
"The value of cosine of pi/6 is : "
, end
=
"")
print
(math.cos(a))
print
(
"The value of tangent of pi/6 is : "
, end
=
"")
print
(math.tan(a))
Output:
The value of sine of pi/6 is : 0.49999999999999994 The value of cosine of pi/6 is : 0.8660254037844387 The value of tangent of pi/6 is : 0.5773502691896257
Converting values from degrees to radians and vice versa
- degrees() function is used to convert argument value from radians to degrees.
- radians() function is used to convert argument value from degrees to radians.
Example:
Python3
import
math
a
=
math.pi
/
6
b
=
30
print
(
"The converted value from radians to degrees is : "
, end
=
"")
print
(math.degrees(a))
print
(
"The converted value from degrees to radians is : "
, end
=
"")
print
(math.radians(b))
Output:
The converted value from radians to degrees is : 29.999999999999996 The converted value from degrees to radians is : 0.5235987755982988
Refer to the below articles to get detailed information about the trigonometric and angular functions.
- Mathematical Functions in Python | Set 3 (Trigonometric and Angular Functions)
Special Functions
Besides all the numeric, logarithmic functions we have discussed yet, the math module provides some more useful functions that does not fall under any category discussed above but may become handy at some point while coding.
Finding gamma value
The gamma() function is used to return the gamma value of the argument.
Example:
Python3
import
math
gamma_var
=
6
print
(
"The gamma value of the given argument is : "
+
str
(math.gamma(gamma_var)))
Output:
The gamma value of the given argument is : 120.0
Check if the value is infinity or NaN
isinf() function is used to check whether the value is infinity or not.
Example:
Python3
import
math
print
(math.isinf(math.pi))
print
(math.isinf(math.e))
print
(math.isinf(
float
(
'inf'
)))
Output:
False False True
isnan() function returns true if the number is “NaN” else returns false.
Example:
Python3
import
math
print
(math.isnan(math.pi))
print
(math.isnan(math.e))
print
(math.isnan(
float
(
'nan'
)))
Output:
False False True
Refer to the below article to get detailed information about the special functions.
- Mathematical Functions in Python | Set 4 (Special Functions and Constants)
List of Mathematical function in Python
Function Name | Description |
---|---|
ceil(x) | Returns the smallest integral value greater than the number |
copysign(x, y) | Returns the number with the value of ‘x’ but with the sign of ‘y’ |
fabs(x) | Returns the absolute value of the number |
factorial(x) | Returns the factorial of the number |
floor(x) | Returns the greatest integral value smaller than the number |
gcd(x, y) | Compute the greatest common divisor of 2 numbers |
fmod(x, y) | Returns the remainder when x is divided by y |
frexp(x) | Returns the mantissa and exponent of x as the pair (m, e) |
fsum(iterable) | Returns the precise floating-point value of sum of elements in an iterable |
isfinite(x) | Check whether the value is neither infinity not Nan |
isinf(x) | Check whether the value is infinity or not |
isnan(x) | Returns true if the number is “nan” else returns false |
ldexp(x, i) | Returns x * (2**i) |
modf(x) | Returns the fractional and integer parts of x |
trunc(x) | Returns the truncated integer value of x |
exp(x) | Returns the value of e raised to the power x(e**x) |
expm1(x) | Returns the value of e raised to the power a (x-1) |
log(x[, b]) | Returns the logarithmic value of a with base b |
log1p(x) | Returns the natural logarithmic value of 1+x |
log2(x) | Computes value of log a with base 2 |
log10(x) | Computes value of log a with base 10 |
pow(x, y) | Compute value of x raised to the power y (x**y) |
sqrt(x) | Returns the square root of the number |
acos(x) | Returns the arc cosine of value passed as argument |
asin(x) | Returns the arc sine of value passed as argument |
atan(x) | Returns the arc tangent of value passed as argument |
atan2(y, x) | Returns atan(y / x) |
cos(x) | Returns the cosine of value passed as argument |
hypot(x, y) | Returns the hypotenuse of the values passed in arguments |
sin(x) | Returns the sine of value passed as argument |
tan(x) | Returns the tangent of the value passed as argument |
degrees(x) | Convert argument value from radians to degrees |
radians(x) | Convert argument value from degrees to radians |
acosh(x) | Returns the inverse hyperbolic cosine of value passed as argument |
asinh(x) | Returns the inverse hyperbolic sine of value passed as argument |
atanh(x) | Returns the inverse hyperbolic tangent of value passed as argument |
cosh(x) | Returns the hyperbolic cosine of value passed as argument |
sinh(x) | Returns the hyperbolic sine of value passed as argument |
tanh(x) | Returns the hyperbolic tangent of value passed as argument |
erf(x) | Returns the error function at x |
erfc(x) | Returns the complementary error function at x |
gamma(x) | Return the gamma function of the argument |
lgamma(x) | Return the natural log of the absolute value of the gamma function |
Using math, Python’s standard module for mathematical functions, you can compute trigonometric functions (sin, cos, tan) and inverse trigonometric functions (arcsin, arccos, arctan).
- Trigonometric functions — Mathematical functions — Python 3.10.4 Documentation
The following contents are explained here with sample codes.
- Pi (3.1415926..):
math.pi
- Angle conversion (radians, degrees):
math.degrees()
,math.radians()
- Sine, Inverse sine:
math.sin()
,math.asin()
- cosine, inverse cosine:
math.cos()
,math.acos()
- Tangent, Inverse tangent:
math.tan()
,math.atan()
,math.atan2()
- Differences below:
math.atan()
,math.atan2()
Table of Contents
- Pi (3.1415926..): math.pi
- Angle conversion (radians, degrees): math.degrees(), math.radians()
- Sine, Inverse sine: math.sin(), math.asin()
- cosine, inverse cosine: math.cos(), math.acos()
- Tangent, Inverse tangent: math.tan(), math.atan(), math.atan2()
- Difference between math.atan() and math.atan2()
Pi (3.1415926..): math.pi
Pi is provided as a constant in the math module. It is expressed as follows.math.pi
import math
print(math.pi)
# 3.141592653589793
Angle conversion (radians, degrees): math.degrees(), math.radians()
Trigonometric and inverse trigonometric functions in the math module use the radian as the unit of angle.
- Radian – Wikipedia
Use math.degrees() and math.radians() to convert between radians (arc degree method) and degrees (degree method).
Math.degrees() converts from radians to degrees, and math.radians() converts from degrees to radians.
print(math.degrees(math.pi))
# 180.0
print(math.radians(180))
# 3.141592653589793
Sine, Inverse sine: math.sin(), math.asin()
The function to find the sine (sin) is math.sin() and the function to find the inverse sine (arcsin) is math.asin().
Here is an example of finding the sine of 30 degrees, using math.radians() to convert degrees to radians.
sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994
The sine of 30 degrees is 0.5, but there is an error because pi, an irrational number, cannot be calculated accurately.
If you wish to round to the appropriate number of digits, use the round() function or the format() method or the format() function.
Note that the return value of round() is a number (int or float), but the return value of format() is a string. If you want to use it for subsequent calculations, use round().
print(round(sin30, 3))
print(type(round(sin30, 3)))
# 0.5
# <class 'float'>
print('{:.3}'.format(sin30))
print(type('{:.3}'.format(sin30)))
# 0.5
# <class 'str'>
print(format(sin30, '.3'))
print(type(format(sin30, '.3')))
# 0.5
# <class 'str'>
The round() function specifies the number of decimal places as its second argument. Note that this is not strictly rounding. See the following article for details.
- RELATED:Rounding decimals and integers in Python:
round()
,Decimal.quantize()
The format() method and format() function specify the number of decimal places in the formatting specification string. See the following article for details.
- RELATED:Format conversion in Python, format (0-filling, exponential notation, hexadecimal, etc.)
If you want to compare, you can also use math.isclose().
print(math.isclose(sin30, 0.5))
# True
Similarly, here is an example of finding the inverse sine of 0.5. math.asin() returns radians, which are converted to degrees with math.degrees().
asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996
print(round(asin05, 3))
# 30.0
cosine, inverse cosine: math.cos(), math.acos()
The function to find the cosine (cos) is math.cos(), and the function to find the inverse cosine (arc cosine, arccos) is math.acos().
Here is an example of finding the cosine of 60 degrees and the inverse cosine of 0.5.
print(math.cos(math.radians(60)))
# 0.5000000000000001
print(math.degrees(math.acos(0.5)))
# 59.99999999999999
If you wish to round to the appropriate digit, you can use round() or format() as with sine.
Tangent, Inverse tangent: math.tan(), math.atan(), math.atan2()
The function to find the tangent (tan) is math.tan(), and the function to find the inverse tangent (arctan) is math.atan() or math.atan2().
Math.atan2() is described later.
An example of finding the tangent of 45 degrees and the inverse tangent of 1 degree is shown below.
print(math.tan(math.radians(45)))
# 0.9999999999999999
print(math.degrees(math.atan(1)))
# 45.0
Difference between math.atan() and math.atan2()
Both math.atan() and math.atan2() are functions that return the inverse tangent, but they differ in the number of arguments and the range of return values.
math.atan(x) has one argument and returns arctan(x) in radians. The return value will be between -pi 2 and pi 2 (-90 to 90 degrees).
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
In the example above, math.inf represents infinity.
math.atan2(y, x) has two arguments and returns arctan(y x) in radians. This angle is the angle (declination) that the vector from the origin to the coordinates (x, y) makes with the positive direction of the x axis in the polar coordinate plane, and the returned value is between -pi and pi (-180 to 180 degrees).
Since angles in the second and third quadrants can also be obtained correctly, math.atan2() is more appropriate than math.atan() when considering the polar coordinate plane.
Note that the order of the arguments is y, x, not 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
As in the example above, the negative direction of the x-axis (y is zero and x is negative) is pi (180 degrees), but when y is negative zero, it is -pi (-180 degrees). Be careful if you want to handle the sign strictly.
print(math.degrees(math.atan2(-0.0, -1)))
# -180.0
Negative zeros are the result of the following operations
print(-1 / math.inf)
# -0.0
print(-1.0 * 0.0)
# -0.0
Integers are not treated as negative zeros.
print(-0.0)
# -0.0
print(-0)
# 0
Even when both x and y are zero, the result depends on the sign.
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
There are other examples where the sign of the result changes depending on negative zeros, such as math.atan2() as well as math.sin(), math.asin(), math.tan(), and 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
Note that the examples so far are the results of running the program in CPython. Note that other implementations or environments may handle negative zeros differently.