Математика#
Введение#
В модуль Math входят как встроенные функции Python, так и полный модуль math , который автоматически доступен в VEXcode V5. Эти инструменты позволяют выполнять все операции, от базовой арифметики до сложной тригонометрии, округления и логарифмических вычислений.
Используйте эти функции и константы для вычисления положений, углов, расстояний и других числовых значений для вашего робота. Вы также можете преобразовывать градусы в радианы, вычислять выражения и работать со специальными значениями, такими как бесконечность и NaN.
Ниже приведён список доступных математических функций, констант и вспомогательных средств:
Встроенные функции – распространенные математические инструменты, входящие в состав Python.
abs– Возвращает абсолютное значение числа.round– Округляет число до указанного количества десятичных знаков.min– Возвращает наименьшее из входных значений.max– Возвращает наибольшее из входных значений.sum– Суммирует все значения в итерируемом объекте.divmod– Возвращает частное и остаток в виде кортежа.pow– Возводит число в степень, при необходимости с модулем.int– Преобразует значение в целое число.float– Преобразует значение в число с плавающей запятой.
Константы – предопределенные значения из модуля math.
Тригонометрия – вычисление углов и соотношений между сторонами.
math.sin– Синус угла в радианах.math.cos– Косинус угла в радианах.math.tan– Тангенс угла в радианах.math.atan– Арктангенс значения в радианах.math.atan2– Арктангенс y/x в радианах, с учетом квадранта.math.asin– Арксинус значения в радианах.math.acos– Арккосинус значения в радианах.math.degrees– Преобразует радианы в градусы.math.radians– Преобразует градусы в радианы.
Округление и абсолютное значение – регулировка точности или направления.
math.ceil– Округляет до ближайшего целого числа.math.floor– Округляет до ближайшего целого числа в меньшую сторону.math.trunc– Удаляет десятичную часть.math.fabs– Возвращает абсолютное значение в виде числа с плавающей запятой.
Степени и логарифмы – вычисления степеней, корней и логарифмов.
math.pow– Возводит число в степень.math.sqrt– Возвращает квадратный корень.math.exp– Вычисляет e в степени x.math.log– Вычислите логарифм x.
Операции с плавающей запятой – проверка или разложение значений с плавающей запятой.
math.modf– Возвращает дробную и целую части числа с плавающей запятой.math.frexp– Разлагает число на мантиссу и показатель степени.math.fmod– Остаток со знаком делимого.math.copysign– Возвращает значение со знаком другого значения.math.ldexp– Вычисляетx * (2 ** exp).
Встроенные функции#
Python предоставляет несколько встроенных функций, позволяющих выполнять математические операции внутри вашего проекта.
abs#
Функция abs возвращает абсолютное значение числа, удаляя все отрицательные знаки.
Usage:
abs(x)
Параметр |
Описание |
|---|---|
|
Целое число или число с плавающей запятой. |
# Get the absolute value of -10
abs_result = abs(-10)
brain.screen.print(abs_result)
# abs_result = 10
round#
round округляет число до указанного количества десятичных знаков.
Usage:
round(x, ndigits)
Параметр |
Описание |
|---|---|
|
Целое число или число с плавающей запятой. |
|
Необязательный параметр. Количество десятичных знаков, до которых следует округлять. По умолчанию — 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.screen.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.screen.print(round_result, precision=2)
# round_result = 3.14
min#
Функция min возвращает наименьшее значение из нескольких аргументов или итерируемого объекта.
Usage:
min(arg1, arg2, …) or min(sequence)
Параметр |
Описание |
|---|---|
|
Цифры для сравнения. |
|
Список, кортеж или другая последовательность, содержащая числа. |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.screen.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.screen.print(min_list_result)
# min_list_result = 1
max#
max возвращает наибольшее значение из нескольких аргументов или итерируемого объекта.
Usage:
max(arg1, arg2, …) or max(sequence)
Параметр |
Описание |
|---|---|
|
Цифры для сравнения. |
|
Список, кортеж или другая последовательность, содержащая числа. |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.screen.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.screen.print(max_list_result)
# max_list_result = 25
sum#
sum суммирует все значения в итерируемом объекте, с необязательным начальным значением.
Usage:
sum(sequence, start)
Параметр |
Описание |
|---|---|
|
Список, кортеж или другая последовательность, содержащая числа. |
|
Необязательный параметр. Значение, которое нужно добавить к сумме. По умолчанию — 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.screen.print(sum_result)
# sum_result = 15
# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
brain.screen.print(sum_with_start)
# sum_with_start = 16
divmod#
Функция divmod возвращает кортеж, содержащий частное и остаток от деления.
Usage:
divmod(a, b)
Параметр |
Описание |
|---|---|
|
Дивиденды. |
|
Делитель. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.screen.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow возводит число в степень и, при необходимости, выполняет операцию взятия остатка от деления.
Usage:
pow(x, y, mod)
Параметр |
Описание |
|---|---|
|
Базовое число. |
|
Показатель степени. |
|
Необязательный параметр. Значение модуля. Если указано, возвращает |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.screen.print(pow_result)
# pow_result = 8
int#
int преобразует число или строку в целое число. Также поддерживает преобразование в систему счисления при преобразовании из строки.
Usage:
int(x, base)
Параметр |
Описание |
|---|---|
|
Число, строка или другой объект для преобразования. |
|
Необязательный параметр. Система счисления, используемая для преобразования. По умолчанию — 10. |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
brain.screen.print("{} coins".format(price_int))
# Output: 19 coins
# Convert a string into an integer to use in calculations
user_input = "55"
user_number = int(user_input)
brain.screen.print(user_number * 2)
# Output: 110
float#
float преобразует число или строку в число с плавающей запятой.
Usage:
float(x)
Параметр |
Описание |
|---|---|
|
Число, строка или другой объект для преобразования. |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
robot.screen.print(apples_per_person)
# Output: 3.00
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
robot.screen.print(user_number * 3)
# Output: 70.20
Математический модуль#
Модуль math в MicroPython предоставляет дополнительные методы для выполнения распространенных математических вычислений. Эти методы включают тригонометрические, логарифмические и другие числовые операции.
Модуль math импортируется по умолчанию в VEXcode.
Constants#
Константы — это предопределенные значения, которые остаются неизменными на протяжении всего проекта. Их можно использовать в вычислениях без необходимости определения или присваивания каких-либо значений.
пи#
pi дает математическую константу π, отношение длины окружности к ее диаметру.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
brain.screen.print(circle_area, precision=2)
# circle_area = 78.54
е#
e — это основание натурального логарифма.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
brain.screen.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
грех#
Функция sin вычисляет синус угла в радианах и возвращает число с плавающей запятой.
Usage:
math.sin(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее угол в радианах. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.screen.print(result, precision=2)
# result = 0.50
кос#
Функция cos вычисляет косинус угла в радианах и возвращает число с плавающей запятой.
Usage:
math.cos(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее угол в радианах. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.screen.print(result, precision=2)
# result = 0.50
загар#
Функция tan вычисляет тангенс угла в радианах и возвращает число с плавающей запятой.
Usage:
math.tan(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее угол в радианах. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.screen.print(result)
# result = 1.00
асин#
asin вычисляет обратный синус (арксинус) числа и возвращает число с плавающей запятой, представляющее угол в радианах.
Usage:
math.asin(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число от -1 до 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.screen.print(result)
# result = 30.00
акос#
Функция acos вычисляет обратный косинус (арккосинус) числа и возвращает число с плавающей запятой, представляющее угол в радианах.
Usage:
math.acos(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число от -1 до 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.screen.print(result)
# result = 60.00
атан#
Функция atan вычисляет арктангенс (арктангенс) числа и возвращает число с плавающей запятой, представляющее угол в радианах.
Usage:
math.atan(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.screen.print(result)
# result = 45.00
атан2#
Функция atan2 вычисляет главное значение арктангенса y/x и возвращает число с плавающей запятой, представляющее угол в радианах.
Usage:
math.atan2(y, x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее координату Y. |
|
Число с плавающей запятой или целое число, представляющее координату x. |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.screen.print(result)
# result = 45.00
градусы#
degrees преобразует угол из радиан в градусы и возвращает число с плавающей запятой.
Usage:
math.degrees(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее угол в радианах. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.screen.print(degrees_result)
# degrees_result = 180.00
радиан#
radians преобразует угол из градусов в радианы в виде числа с плавающей запятой.
Usage:
math.radians(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, представляющее угол в градусах. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.screen.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
потолок#
ceil округляет число до ближайшего целого числа в большую сторону.
Usage:
math.ceil(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, подлежащее округлению в большую сторону. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.screen.print(ceil_result)
# ceil_result = 4
пол#
floor округляет число до ближайшего целого числа в меньшую сторону.
Usage:
math.floor(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число, подлежащее округлению в меньшую сторону. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.screen.print(floor_result)
# floor_result = 3
усечение#
trunc удаляет десятичную часть числа без округления.
Usage:
math.trunc(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой, подлежащее усечению. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.screen.print(trunc_result)
# trunc_result = 3
фабрики#
Функция fabs возвращает абсолютное значение числа в виде числа с плавающей запятой.
Usage:
math.fabs(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.screen.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
бревно#
Функция log вычисляет логарифм числа и возвращает число с плавающей запятой.
Usage:
math.log(x, base)
Параметр |
Описание |
|---|---|
|
Положительное число с плавающей запятой или целое число. |
|
Необязательный параметр. Основание логарифма. По умолчанию используется натуральный логарифм. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.screen.print(log_result)
# log_result = 2.00
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.screen.print(log_result)
# log_result = 3.00
сила#
Функция pow возводит x в степень y и возвращает число с плавающей запятой, даже если оба входных значения являются целыми числами.
Usage:
math.pow(x, y)
Параметр |
Описание |
|---|---|
|
Основание для чисел с плавающей запятой или целых чисел. |
|
Показатель степени (с плавающей запятой или целое число). |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.screen.print(power_result)
# power_result = 8.00
кв. рт.#
Функция sqrt вычисляет квадратный корень числа и возвращает число с плавающей запятой, даже для полных квадратов.
Usage:
math.sqrt(x)
Параметр |
Описание |
|---|---|
|
Неотрицательное число с плавающей запятой или целое число. |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.screen.print(square_root)
# square_root = 4.00
эксп#
Функция exp вычисляет экспоненту числа и возвращает число с плавающей запятой.
Usage:
math.exp(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.screen.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
модф#
Функция modf разлагает число на дробную и целую части и возвращает кортеж (fractional part, integer part), обе части представлены в виде чисел с плавающей запятой.
Usage:
math.modf(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число для разложения. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.screen.print(fractional_part, precision=2)
brain.screen.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
фрекс#
frexp разлагает число на мантиссу и показатель степени и возвращает кортеж (mantissa, exponent), где мантисса — число с плавающей запятой, а показатель степени — целое число.
Usage:
math.frexp(x)
Параметр |
Описание |
|---|---|
|
Число с плавающей запятой или целое число для разложения. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.screen.print(mantissa, precision=2)
brain.screen.print(exponent)
# mantissa = 0.50
# exponent = 5
фмод#
fmod возвращает остаток от деления, сохраняя при этом знак делимого (x).
Usage:
math.fmod(x, y)
Параметр |
Описание |
|---|---|
|
Дивиденды. |
|
Делитель. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.screen.print(fmod_result)
# fmod_result = 1
авторизация#
copysign возвращает x со знаком y.
Usage:
math.copysign(x, y)
Параметр |
Описание |
|---|---|
|
Значение, которое необходимо изменить. |
|
Значение, знак которого будет скопирован. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.screen.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp вычисляет x * (2 ** exp), что эквивалентно x * 2exp.
Usage:
math.ldexp(x, exp)
Параметр |
Описание |
|---|---|
|
Базовое значение. |
|
Показатель степени. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.screen.print(ldexp_result)
# ldexp_result = 48