Matematika#
Zavedení#
Math obsahuje jak vestavěné funkce Pythonu, tak i plný modul math , který je automaticky dostupný ve VEXcode 123. Tyto nástroje vám umožňují provádět vše od základní aritmetiky až po pokročilou trigonometrii, zaokrouhlování a logaritmické operace.
Tyto funkce a konstanty použijte k výpočtu poloh, úhlů, vzdáleností a dalších číselných hodnot pro vašeho robota. Můžete také převádět mezi stupni a radiány, vyhodnocovat výrazy a pracovat se speciálními hodnotami, jako je nekonečno a NaN.
Níže je uveden seznam dostupných matematických funkcí, konstant a utilit:
Vestavěné funkce – Běžné matematické nástroje zahrnuté v Pythonu.
abs– Vrátí absolutní hodnotu čísla.round– Zaokrouhlí číslo na zadaný počet desetinných míst.min– Vrátí nejmenší ze vstupních hodnot.max– Vrací největší ze vstupních hodnot.sum– Sečte všechny hodnoty v iterovatelném objektu.divmod– Vrátí podíl a zbytek jako n-tici.pow– Umocní číslo, volitelně s modulem.int– Převede hodnotu na celé číslo.float– Převede hodnotu na číslo s plovoucí desetinnou čárkou.
Konstanty – Předdefinované hodnoty z modulu math.
math.pi– Konstanta π (pí).math.tau– Konstanta tau (2π).math.e– Eulerovo číslo, základ přirozeného logaritmu.
Trigonometrie – Výpočet úhlů a vztahů mezi stranami.
math.sin– Sinus úhlu v radiánech.math.cos– Kosinus úhlu v radiánech.math.tan– Tangens úhlu v radiánech.math.atan– Arkustangens hodnoty v radiánech.math.atan2– Arkustangens osy y/x v radiánech, s ohledem na kvadrant.math.asin– Arkus sinus hodnoty v radiánech.math.acos– Arkuskosinus hodnoty v radiánech.math.degrees– Převede radiány na stupně.math.radians– Převede stupně na radiány.
Zaokrouhlování a absolutní hodnota – Úprava přesnosti nebo směru.
math.ceil– Zaokrouhlí nahoru na nejbližší celé číslo.math.floor– Zaokrouhlí dolů na nejbližší celé číslo.math.trunc– Odstraní desetinnou část.math.fabs– Vrátí absolutní hodnotu jako číslo s desetinnou čárkou.
Exponenty a logaritmy – Výpočty mocnin, odmocnin a logaritmů.
math.pow– Umocní číslo.math.sqrt– Vrátí druhou odmocninu.math.exp– Vypočítá e umocněné na x.math.log– Vypočítejte logaritmus x.math.log10– Vypočítá desátkový logaritmus x.
Operace s plovoucí desetinnou čárkou – Kontrola nebo rozklad hodnot s plovoucí desetinnou čárkou.
math.modf– Vrací zlomkovou a celočíselnou část čísla s desetinnou čárkou.math.frexp– Rozloží číslo na mantisu a exponent.math.fmod– Zbytek se znaménkem dělence.math.copysign– Vrátí hodnotu se znaménkem jiné hodnoty.math.ldexp– Vypočítáx * (2 ** exp).
Vestavěné funkce#
Python nabízí několik vestavěných funkcí, které umožňují provádět matematické operace uvnitř projektu.
abs#
abs vrací absolutní hodnotu čísla bez záporného znaménka.
Usage:
abs(x)
Parametr |
Popis |
|---|---|
|
Celé číslo nebo číslo s plovoucí desetinnou čárkou. |
# Get the absolute value of -10
abs_result = abs(-10)
console.print(abs_result)
# abs_result = 10
round#
round číslo na zadaný počet desetinných míst.
Usage:
round(x, ndigits)
Parametr |
Popis |
|---|---|
|
Celé číslo nebo číslo s plovoucí desetinnou čárkou. |
|
Volitelné. Počet desetinných míst, na které se má zaokrouhlit. Výchozí hodnota je 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
console.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
console.print(round_result, precision=2)
# round_result = 3.14
min#
min vrací nejmenší hodnotu z více argumentů nebo iterovatelného objektu.
Usage:
min(arg1, arg2, …) or min(sequence)
Parametr |
Popis |
|---|---|
|
Čísla k porovnání. |
|
Seznam, n-tice nebo jiná posloupnost obsahující čísla. |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
console.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
console.print(min_list_result)
# min_list_result = 1
max#
max vrací největší hodnotu z více argumentů nebo iterovatelného objektu.
Usage:
max(arg1, arg2, …) or max(sequence)
Parametr |
Popis |
|---|---|
|
Čísla k porovnání. |
|
Seznam, n-tice nebo jiná posloupnost obsahující čísla. |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
console.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
console.print(max_list_result)
# max_list_result = 25
sum#
Funkce sum sečte všechny hodnoty v iterovatelném objektu s volitelnou počáteční hodnotou.
Usage:
sum(sequence, start)
Parametr |
Popis |
|---|---|
|
Seznam, n-tice nebo jiná posloupnost obsahující čísla. |
|
Volitelné. Hodnota, která se má přičíst k součtu. Výchozí hodnota je 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
console.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)
console.print(sum_with_start)
# sum_with_start = 16
divmod#
divmod vrací n-tici obsahující podíl a zbytek operace dělení.
Usage:
divmod(a, b)
Parametr |
Popis |
|---|---|
|
Dividenda. |
|
Dělitel. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
console.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow umocní číslo a volitelně provede operaci s modulem.
Usage:
pow(x, y, mod)
Parametr |
Popis |
|---|---|
|
Základní číslo. |
|
Exponent. |
|
Volitelné. Hodnota modulu. Pokud je zadána, vrátí |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
console.print(pow_result)
# pow_result = 8
int#
int převede číslo nebo řetězec na celé číslo. Podporuje také převod základů při převodu z řetězce.
Usage:
int(x, base)
Parametr |
Popis |
|---|---|
|
Číslo, řetězec nebo jiný objekt, který má být převeden. |
|
Volitelné. Číselný základ, který se má použít pro převod. Výchozí hodnota je 10. |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
console.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)
console.print(user_number * 2)
# Output: 110
float#
float převede číslo nebo řetězec na číslo s plovoucí desetinnou čárkou.
Usage:
float(x)
Parametr |
Popis |
|---|---|
|
Číslo, řetězec nebo jiný objekt, který má být převeden. |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
console.print(apples_per_person)
# Output: 3.0
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
console.print(user_number * 3)
# Output: 70.2
Matematický modul#
Modul math v Pythonu poskytuje další metody pro provádění běžných matematických výpočtů. Mezi tyto metody patří trigonometrické, logaritmické a další numerické operace.
Modul math je ve VEXcode importován standardně.
Constants#
Konstanty jsou předdefinované hodnoty, které zůstávají během projektu neměnné. Lze je použít ve výpočtech bez nutnosti jakékoli definice nebo přiřazení.
pí#
pi udává matematickou konstantu π, poměr obvodu kruhu k jeho průměru.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
console.print(circle_area, precision=2)
# circle_area = 78.54
tau#
tau dává hodnotu 2π.
Usage:
math.tau
# Calculate the circumference of a circle with radius 5
circumference = math.tau * 5
console.print(circumference, precision=2)
# circumference = 31.42
E#
e udává základ přirozeného logaritmu.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
console.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
hřích#
sin vypočítá sinus úhlu v radiánech a vrátí číslo s desetinnou čárkou.
Usage:
math.sin(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující úhel v radiánech. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
console.print(result, precision=2)
# result = 0.50
cos#
Funkce cos vypočítá kosinus úhlu v radiánech a vrátí číslo s desetinnou čárkou.
Usage:
math.cos(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující úhel v radiánech. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
console.print(result, precision=2)
# result = 0.50
opálení#
Funkce tan vypočítá tangens úhlu v radiánech a vrátí celé číslo.
Usage:
math.tan(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující úhel v radiánech. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
console.print(result)
# result = 1
asin#
Funkce asin vypočítá inverzní sinus (arkus sinus) čísla a vrátí celé číslo představující úhel v radiánech.
Usage:
math.asin(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo mezi -1 a 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
console.print(result)
# result = 30
ACOS#
Funkce acos vypočítá inverzní kosinus (arkuskosinus) čísla a vrátí celé číslo představující úhel v radiánech.
Usage:
math.acos(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo mezi -1 a 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
console.print(result)
# result = 60
atan#
Funkce atan vypočítá inverzní tangens (arkustangens) čísla a vrátí celé číslo představující úhel v radiánech.
Usage:
math.atan(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí desetinnou čárkou nebo celé číslo. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
console.print(result)
# result = 45
atan2#
atan2 vypočítá hlavní hodnotu inverzního tangensu osy y/x a vrátí číslo s desetinnou čárkou reprezentující úhel v radiánech.
Usage:
math.atan2(y, x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující souřadnici y. |
|
Číslo s desetinnou čárkou nebo celé číslo představující souřadnici x. |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
console.print(result)
# result = 45
stupňů#
degrees převede úhel z radiánů na stupně a vrátí celé číslo.
Usage:
math.degrees(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující úhel v radiánech. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
console.print(degrees_result)
# degrees_result = 180
radiány#
radians převede úhel ze stupňů na radiány.
Usage:
math.radians(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo představující úhel ve stupních. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
console.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
strop#
ceil zaokrouhlí číslo nahoru na nejbližší celé číslo.
Usage:
math.ceil(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo, které má být zaokrouhleno nahoru. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
console.print(ceil_result)
# ceil_result = 4
patro#
floor zaokrouhlí číslo dolů na nejbližší celé číslo.
Usage:
math.floor(x)
Parametr |
Popis |
|---|---|
|
Číslo s desetinnou čárkou nebo celé číslo, které se má zaokrouhlit dolů. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
console.print(floor_result)
# floor_result = 3
kmen#
trunc odstraní desetinnou část čísla bez zaokrouhlení.
Usage:
math.trunc(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí … |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
console.print(trunc_result)
# trunc_result = 3
továrny#
fabs vrací absolutní hodnotu čísla jako desetinné číslo.
Usage:
math.fabs(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí desetinnou čárkou nebo celé číslo. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
console.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
protokol#
Funkce log vypočítá logaritmus čísla a vrátí hodnotu s desetinnou čárkou.
Usage:
math.log(x, base)
Parametr |
Popis |
|---|---|
|
Kladné číslo s plovoucí desetinnou čárkou nebo celé číslo. |
|
Volitelné. Základ logaritmu, který se má použít. Ve výchozím nastavení se jedná o přirozený logaritmus. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
console.print(log_result)
# log_result = 2
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
console.print(log_result)
# log_result = 3
log10#
log10 vypočítá desátkový logaritmus čísla a vrátí číslo s desetinnou čárkou.
Usage:
math.log10(x)
Parametr |
Popis |
|---|---|
|
Kladné číslo s plovoucí desetinnou čárkou nebo celé číslo. |
# Calculate the base-10 logarithm of 100
log10_result = math.log10(100)
console.print(log10_result)
# log10_result = 2
pow#
Funkce pow umocňuje x na y a vrací číslo s desetinnou čárkou, i když oba vstupy jsou celá čísla.
Usage:
math.pow(x, y)
Parametr |
Popis |
|---|---|
|
Základ s plovoucí desetinnou čárkou nebo celočíselným číslem. |
|
Celočíselný nebo float exponent. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)
# power_result = 8
čtvereční#
Funkce sqrt vypočítá druhou odmocninu z čísla a vrátí číslo s desetinnou čárkou, a to i v případě dokonalých druhých mocnin.
Usage:
math.sqrt(x)
Parametr |
Popis |
|---|---|
|
Nezáporné číslo s desetinnou čárkou nebo celé číslo. |
# Calculate the square root of 25
sqrt_result = math.sqrt(25)
console.print(sqrt_result)
# sqrt_result = 5.0
exp#
exp vypočítá exponenciál čísla a vrátí číslo s desetinnou čárkou.
Usage:
math.exp(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí desetinnou čárkou nebo celé číslo. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
console.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
modf#
modf rozloží číslo na zlomkovou a celočíselnou část a vrátí n-tici (fractional part, integer part), obě jako čísla s desetinnou čárkou.
Usage:
math.modf(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí desetinnou čárkou nebo celé číslo, které se má rozložit. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
console.print(fractional_part, precision=2)
console.new_line()
console.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
frexp#
Funkce frexp rozloží číslo na mantissu a exponent a vrátí n-tici (mantissa, exponent), kde mantisa je číslo s desetinnou čárkou a exponent je celé číslo.
Usage:
math.frexp(x)
Parametr |
Popis |
|---|---|
|
Číslo s plovoucí desetinnou čárkou nebo celé číslo, které se má rozložit. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
console.print(mantissa, precision=2)
console.new_line()
console.print(exponent)
# mantissa = 0.50
# exponent = 5
fmod#
fmod vrací zbytek po dělení se zachováním znaménka dělence (x).
Usage:
math.fmod(x, y)
Parametr |
Popis |
|---|---|
|
Dividenda. |
|
Dělitel. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
console.print(fmod_result)
# fmod_result = 1
autorský podpis#
copysign vrací x se znaménkem y.
Usage:
math.copysign(x, y)
Parametr |
Popis |
|---|---|
|
Hodnota, která má být upravena. |
|
Hodnota, jejíž znaménko bude zkopírováno. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
console.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp vypočítá x * (2 ** exp), což je ekvivalentní x * 2exp.
Usage:
math.ldexp(x, exp)
Parametr |
Popis |
|---|---|
|
Základní hodnota. |
|
Exponent. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
console.print(ldexp_result)
# ldexp_result = 48