Matek#
Bevezetés#
A Math tartalmaz beépített Python függvényeket és a teljes math modult is, amely automatikusan elérhető a VEXcode 123-ban. Ezek az eszközök lehetővé teszik az alapvető aritmetikai műveletektől a haladó trigonometriai, kerekítési és logaritmikus műveletekig mindent.
Ezekkel a függvényekkel és állandókkal kiszámíthatja a robot pozícióit, szögeit, távolságait és egyéb numerikus értékeit. Fokok és radiánok között is válthat, kifejezéseket értékelhet ki, és speciális értékekkel, például végtelennel és NaN-nal dolgozhat.
Az alábbiakban a rendelkezésre álló matematikai függvények, konstansok és segédprogramok listája látható:
Beépített függvények – A Pythonban megtalálható gyakori matematikai eszközök.
abs– Egy szám abszolút értékét adja vissza.round– Egy számot megadott számú tizedesjegyre kerekít.min– Visszaadja a bemeneti értékek közül a legkisebbet.max– Visszaadja a bemeneti értékek közül a legnagyobbat.sum– Összeadja egy iterálható objektum összes értékét.divmod– Visszaadja a hányadost és a maradékot egy tuple-ként.pow– Egy számot adott hatványra emel, opcionálisan egy modulussal.int– Egy értéket egész számmá alakít.float– Lebegőpontos számmá alakít egy értéket.
Konstansok – Előre definiált értékek a math modulból.
math.pi– A π (pi) állandó.math.tau– A tau (2π) állandó.math.e– Euler-szám, a természetes logaritmus alapja.
Trigonometria – Szögek és oldalak közötti kapcsolatok kiszámítása.
math.sin– Egy szög szinuszai radiánban.math.cos– Egy szög koszinusza radiánban.math.tan– Egy szög tangense radiánban.math.atan– Egy radiánban megadott érték arkusz tangense.math.atan2– Az y/x arkusz tangense radiánban, figyelembe véve a kvadránst.math.asin– Egy radiánban megadott érték arkusz szinuszja.math.acos– Egy radiánban megadott érték arkusz koszinusza.math.degrees– Radiánból fokot vált át.math.radians– Fokokat radiánokká alakít.
Kerekítés és abszolút érték – Pontosság vagy irány beállítása.
math.ceil– Felfelé kerekíti a legközelebbi egész számra.math.floor– Lefelé kerekíti a legközelebbi egész számra.math.trunc– Eltávolítja a tizedes részt.math.fabs– Visszaadja az abszolút értéket lebegőpontos számként.
Kitevők és logaritmusok – Hatvány-, gyök- és logaritmusszámítások.
math.pow– Egy számot adott hatványra emel.math.sqrt– Visszaadja a négyzetgyököt.math.exp– Kiszámítja az e-t x hatványán.math.log– Számítsa ki x logaritmusát.math.log10– Kiszámítja az x tízes alapú logaritmusát.
Lebegőpontos műveletek – Lebegőpontos értékek vizsgálata vagy bontása.
math.modf– Visszaadja egy lebegőpontos szám tört és egész részét.math.frexp– Egy számot mantisszára és kitevőjére bont.math.fmod– Az osztandó előjelével jelölt maradék.math.copysign– Egy másik előjelű értéket ad vissza.math.ldexp– Kiszámítjax * (2 ** exp).
Beépített függvények#
A Python számos beépített függvényt kínál, amelyek lehetővé teszik matematikai műveletek végrehajtását a projekten belül.
abs#
abs egy szám abszolút értékét adja vissza, eltávolítva a negatív előjeleket.
Usage:
abs(x)
Paraméter |
Leírás |
|---|---|
|
Egész szám vagy lebegőpontos szám. |
# Get the absolute value of -10
abs_result = abs(-10)
console.print(abs_result)
# abs_result = 10
round#
round egy számot megadott számú tizedesjegyre kerekít.
Usage:
round(x, ndigits)
Paraméter |
Leírás |
|---|---|
|
Egész szám vagy lebegőpontos szám. |
|
Opcionális. A tizedesjegyek száma, amelyekre kerekíteni kell. Az alapértelmezett érték 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 a több argumentumból vagy egy iterálható függvényből származó legkisebb értéket adja vissza.
Usage:
min(arg1, arg2, …) or min(sequence)
Paraméter |
Leírás |
|---|---|
|
Az összehasonlításhoz szükséges számok. |
|
Számokat tartalmazó lista, tuple vagy más sorozat. |
# 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 a több argumentum vagy egy iterálható függvény közül a legnagyobb értéket adja vissza.
Usage:
max(arg1, arg2, …) or max(sequence)
Paraméter |
Leírás |
|---|---|
|
Az összehasonlításhoz szükséges számok. |
|
Számokat tartalmazó lista, tuple vagy más sorozat. |
# 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#
sum függvény összeadja egy iterálható objektum összes értékét, opcionális kezdőértékkel.
Usage:
sum(sequence, start)
Paraméter |
Leírás |
|---|---|
|
Számokat tartalmazó lista, tuple vagy más sorozat. |
|
Opcionális. Az összeghez hozzáadandó érték. Az alapértelmezett érték 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 egy olyan tuple-t ad vissza, amely egy osztási művelet hányadosát és maradékát tartalmazza.
Usage:
divmod(a, b)
Paraméter |
Leírás |
|---|---|
|
Az osztalék. |
|
Az osztó. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
console.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow egy számot hatványoz, és opcionálisan modulusműveletet hajt végre.
Usage:
pow(x, y, mod)
Paraméter |
Leírás |
|---|---|
|
Az alapszám. |
|
A kitevő. |
|
Opcionális. Egy modulusérték. Ha meg van adva, |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
console.print(pow_result)
# pow_result = 8
int#
int függvény egy számot vagy karakterláncot egész számmá alakít. Karakterláncból történő konvertáláskor támogatja az alapkonverziót is.
Usage:
int(x, base)
Paraméter |
Leírás |
|---|---|
|
Egy szám, karakterlánc vagy más, konvertálandó objektum. |
|
Opcionális. Az átváltáshoz használandó számrendszer. Az alapértelmezett érték 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 egy számot vagy karakterláncot lebegőpontos számmá alakít.
Usage:
float(x)
Paraméter |
Leírás |
|---|---|
|
Egy szám, karakterlánc vagy más, konvertálandó objektum. |
# 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
Matematikai modul#
A Python math modulja további metódusokat biztosít a gyakori matematikai számítások elvégzéséhez. Ezek a metódusok magukban foglalják a trigonometrikus, logaritmikus és egyéb numerikus műveleteket.
A math modul alapértelmezés szerint importálva van a VEXcode-ban.
Constants#
A konstansok előre definiált értékek, amelyek egy projekt során rögzítettek maradnak. Számításokban felhasználhatók anélkül, hogy bármilyen definíciót vagy értékadást igényelnének.
pi#
pi megadja a π matematikai állandót, a kör kerületének és átmérőjének arányát.
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 értéke 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 a természetes logaritmus alapját adja.
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#
bűn#
sin függvény egy szög szinuszát számítja ki radiánban, és lebegőpontos értéket ad vissza.
Usage:
math.sin(x)
Paraméter |
Leírás |
|---|---|
|
Egy radiánban megadott szöget ábrázoló lebegőpontos vagy egész szám. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
console.print(result, precision=2)
# result = 0.50
kötözősaláta#
cos függvény egy szög koszinuszát számítja ki radiánban, és egy lebegőpontos értéket ad vissza.
Usage:
math.cos(x)
Paraméter |
Leírás |
|---|---|
|
Egy radiánban megadott szöget ábrázoló lebegőpontos vagy egész szám. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
console.print(result, precision=2)
# result = 0.50
cserszínű#
tan függvény egy szög tangensét számítja ki radiánban, és egész számot ad vissza.
Usage:
math.tan(x)
Paraméter |
Leírás |
|---|---|
|
Egy radiánban megadott szöget ábrázoló lebegőpontos vagy egész szám. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
console.print(result)
# result = 1
szamár#
asin függvény kiszámítja egy szám inverz szinuszát (arc szinuszát), és egy egész számot ad vissza, amely a szöget jelenti radiánban.
Usage:
math.asin(x)
Paraméter |
Leírás |
|---|---|
|
Egy -1 és 1 közötti lebegőpontos szám vagy egész szám. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
console.print(result)
# result = 30
ákosok#
acos függvény kiszámítja egy szám inverz koszinuszát (arkus koszinuszát), és egy egész számot ad vissza, amely a szöget jelenti radiánban.
Usage:
math.acos(x)
Paraméter |
Leírás |
|---|---|
|
Egy -1 és 1 közötti lebegőpontos szám vagy egész szám. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
console.print(result)
# result = 60
Atán#
atan függvény kiszámítja egy szám inverz tangensét (arkus tangenst), és egy egész számot ad vissza, amely a szöget jelenti radiánban.
Usage:
math.atan(x)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám. |
# 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 függvény kiszámítja az y/x függvény inverz tangensének főértékét, és egy lebegőpontos számot ad vissza, amely a szöget jelenti radiánban.
Usage:
math.atan2(y, x)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám, amely az y koordinátát jelöli. |
|
Az x koordinátát reprezentáló lebegőpontos szám vagy egész szám. |
# 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
fok#
degrees egy szöget radiánból fokokba konvertál, és egész számot ad vissza.
Usage:
math.degrees(x)
Paraméter |
Leírás |
|---|---|
|
Egy radiánban megadott szöget ábrázoló lebegőpontos vagy egész szám. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
console.print(degrees_result)
# degrees_result = 180
radián#
radians egy szöget fokból radiánba konvertál.
Usage:
math.radians(x)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám, amely egy szöget ábrázol fokban. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
console.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
mennyezet#
ceil függvény egy számot felfelé kerekít a legközelebbi egész számra.
Usage:
math.ceil(x)
Paraméter |
Leírás |
|---|---|
|
Felfelé kerekítendő lebegőpontos szám vagy egész szám. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
console.print(ceil_result)
# ceil_result = 4
emelet#
floor függvény egy számot lefelé kerekít a legközelebbi egész számra.
Usage:
math.floor(x)
Paraméter |
Leírás |
|---|---|
|
Lefelé kerekítendő lebegőpontos szám vagy egész szám. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
console.print(floor_result)
# floor_result = 3
csonk#
trunc parancs kerekítés nélkül eltávolítja a szám tizedes részét.
Usage:
math.trunc(x)
Paraméter |
Leírás |
|---|---|
|
Egy csonkolandó úszótest. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
console.print(trunc_result)
# trunc_result = 3
fabrikáltak#
fabs Egy szám abszolút értékét adja vissza lebegőpontos számként.
Usage:
math.fabs(x)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám. |
# 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#
napló#
log függvény egy szám logaritmusát számítja ki, és lebegőpontos értéket ad vissza.
Usage:
math.log(x, base)
Paraméter |
Leírás |
|---|---|
|
Pozitív lebegőpontos szám vagy egész szám. |
|
Opcionális. A használandó logaritmus alap. Alapértelmezés szerint ez a természetes 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 egy szám 10-es alapú logaritmusát számítja ki, és lebegőpontos értéket ad vissza.
Usage:
math.log10(x)
Paraméter |
Leírás |
|---|---|
|
Pozitív lebegőpontos szám vagy egész szám. |
# Calculate the base-10 logarithm of 100
log10_result = math.log10(100)
console.print(log10_result)
# log10_result = 2
hadifogoly#
pow függvény x értékét y hatványára emeli, és lebegőpontos számot ad vissza, még akkor is, ha mindkét bemenet egész szám.
Usage:
math.pow(x, y)
Paraméter |
Leírás |
|---|---|
|
Lebegőpontos vagy egész alapú szám. |
|
Egy lebegőpontos vagy egész kitevőjű. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)
# power_result = 8
négyzetméter#
sqrt függvény kiszámítja egy szám négyzetgyökét, és lebegőpontos számot ad vissza, még tökéletes négyzetszámok esetén is.
Usage:
math.sqrt(x)
Paraméter |
Leírás |
|---|---|
|
Nemnegatív lebegőpontos szám vagy egész szám. |
# Calculate the square root of 25
sqrt_result = math.sqrt(25)
console.print(sqrt_result)
# sqrt_result = 5.0
tapasztalat#
exp Kiszámítja egy szám exponenciálisát és lebegőpontos számot ad vissza.
Usage:
math.exp(x)
Paraméter |
Leírás |
|---|---|
|
Egy lebegőpontos szám vagy egész szám. |
# 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 függvény egy számot tört és egész részeire bont, és egy tuple-t ad vissza (fractional part, integer part), mindkettőt lebegőpontos számként.
Usage:
math.modf(x)
Paraméter |
Leírás |
|---|---|
|
Egy felbontandó lebegőpontos szám vagy egész szám. |
# 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#
frexp függvény egy számot mantisszára és kitevőjére bont, és egy tuple-t ad vissza (mantissa, exponent), ahol a mantissza egy lebegőpontos szám, a kitevő pedig egy egész szám.
Usage:
math.frexp(x)
Paraméter |
Leírás |
|---|---|
|
Egy felbontandó lebegőpontos szám vagy egész szám. |
# 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 függvény visszaadja az osztás maradékát, miközben megtartja az osztandó előjelét (x).
Usage:
math.fmod(x, y)
Paraméter |
Leírás |
|---|---|
|
Az osztalék. |
|
Az osztó. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
console.print(fmod_result)
# fmod_result = 1
szerzői aláírás#
copysign függvény x értékét adja vissza y előjellel.
Usage:
math.copysign(x, y)
Paraméter |
Leírás |
|---|---|
|
A módosítandó érték. |
|
Az az érték, amelynek az előjelét másolni fogják. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
console.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp kiszámítja x * (2 ** exp), ami egyenértékű x * 2exp képlettel.
Usage:
math.ldexp(x, exp)
Paraméter |
Leírás |
|---|---|
|
Az alapérték. |
|
A kitevő. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
console.print(ldexp_result)
# ldexp_result = 48