Matematyka#

Wstęp#

Math zawiera zarówno wbudowane funkcje Pythona, jak i pełny moduł math , który jest automatycznie dostępny w VEXcode. Narzędzia te umożliwiają wykonywanie wszystkich zadań, od podstawowych działań arytmetycznych po zaawansowaną trygonometrię, zaokrąglanie i operacje logarytmiczne.

Użyj tych funkcji i stałych, aby obliczyć pozycje, kąty, odległości i inne wartości liczbowe dla swojego robota. Możesz również konwertować stopnie na radiany, obliczać wyrażenia i pracować z wartościami specjalnymi, takimi jak nieskończoność i NaN.

Poniżej znajduje się lista dostępnych funkcji matematycznych, stałych i narzędzi:

Funkcje wbudowane – popularne narzędzia matematyczne dołączone do Pythona.

  • abs – Zwraca wartość bezwzględną liczby.

  • round – Zaokrągla liczbę do określonej liczby miejsc dziesiętnych.

  • min – Zwraca najmniejszą z wartości wejściowych.

  • max – Zwraca największą z wartości wejściowych.

  • sum – Sumuje wszystkie wartości w obiekcie iterowalnym.

  • divmod – Zwraca iloraz i resztę jako krotkę.

  • pow – Podnosi liczbę do potęgi, opcjonalnie z modulo.

  • int – Konwertuje wartość na liczbę całkowitą.

  • float – Konwertuje wartość na liczbę zmiennoprzecinkową.

Stałe – predefiniowane wartości z modułu math.

  • math.pi – Stała π (pi).

  • math.e – liczba Eulera, podstawa logarytmu naturalnego.

Trygonometria – obliczanie kątów i relacji między bokami.

  • math.sin – Sinus kąta w radianach.

  • math.cos – Cosinus kąta w radianach.

  • math.tan – Tangens kąta w radianach.

  • math.atan – Arcus tangens wartości w radianach.

  • math.atan2 – Arcus tangens y/x w radianach, biorąc pod uwagę ćwiartkę.

  • math.asin – Arcus sinus wartości w radianach.

  • math.acos – Arcus cosinus wartości w radianach.

  • math.degrees – Konwertuje radiany na stopnie.

  • math.radians – Konwertuje stopnie na radiany.

Zaokrąglanie i wartość bezwzględna – Dostosuj precyzję lub kierunek.

  • math.ceil – Zaokrągla w górę do najbliższej liczby całkowitej.

  • math.floor – Zaokrągla w dół do najbliższej liczby całkowitej.

  • math.trunc – Usuwa część dziesiętną.

  • math.fabs – Zwraca wartość bezwzględną jako liczbę zmiennoprzecinkową.

Wykładniki i logarytmy – obliczenia potęg, pierwiastków i logarytmów.

Operacje na liczbach zmiennoprzecinkowych – inspekcja i rozkład wartości zmiennoprzecinkowych.

  • math.modf – Zwraca część ułamkową i całkowitą liczby zmiennoprzecinkowej.

  • math.frexp – Rozkłada liczbę na mantysę i wykładnik.

  • math.fmod – Reszta ze znakiem dzielnej.

  • math.copysign – Zwraca wartość ze znakiem innej wartości.

  • math.ldexp – Oblicza x * (2 ** exp).

Wbudowane funkcje#

Python udostępnia kilka wbudowanych funkcji umożliwiających wykonywanie operacji matematycznych w projekcie.

abs#

abs zwraca wartość bezwzględną liczby, usuwając wszystkie znaki ujemne.

Usage:
abs(x)

Parametr

Opis

x

Liczba całkowita lub zmiennoprzecinkowa.

# Get the absolute value of -10
abs_result = abs(-10)
brain.print(abs_result)

# abs_result = 10

round#

round zaokrągla liczbę do określonej liczby miejsc dziesiętnych.

Usage:
round(x, ndigits)

Parametr

Opis

x

Liczba całkowita lub zmiennoprzecinkowa.

ndigits

Opcjonalnie. Liczba miejsc dziesiętnych do zaokrąglenia. Wartość domyślna to 0.

# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.print(round_int_result)

# round_int_result = 6

# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.print(round_result, precision=2)

# round_result = 3.14

min#

min zwraca najmniejszą wartość spośród wielu argumentów lub obiektu iterowalnego.

Usage:
min(arg1, arg2, …) or min(sequence)

Parametr

Opis

arg1, arg2, …

Liczby do porównania.

sequence

Lista, krotka lub inna sekwencja zawierająca liczby.

# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.print(min_result)

# min_result = 1

# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.print(min_list_result)

# min_list_result = 1

max#

max zwraca największą wartość spośród wielu argumentów lub obiekt iterowalny.

Usage:
max(arg1, arg2, …) or max(sequence)

Parametr

Opis

arg1, arg2, …

Liczby do porównania.

sequence

Lista, krotka lub inna sekwencja zawierająca liczby.

# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.print(max_result)

# max_result = 7

# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.print(max_list_result)

# max_list_result = 25

sum#

Suma sum sumuje wszystkie wartości w obiekcie iterowalnym, z opcjonalną wartością początkową.

Usage:
sum(sequence, start)

Parametr

Opis

sequence

Lista, krotka lub inna sekwencja zawierająca liczby.

start

Opcjonalnie. Wartość do dodania do sumy. Domyślnie 0.

# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.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.print(sum_with_start)

# sum_with_start = 16

divmod#

divmod zwraca krotkę zawierającą iloraz i resztę z operacji dzielenia.

Usage:
divmod(a, b)

Parametr

Opis

a

Dywidenda.

b

Dzielnik.

# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.print(divmod_result)

# divmod_result = (3, 1)

pow#

pow podnosi liczbę do potęgi i opcjonalnie wykonuje operację modulo.

Usage:
pow(x, y, mod)

Parametr

Opis

x

Liczba bazowa.

y

Wykładnik.

mod

Opcjonalnie. Wartość modułu. Jeśli podana, zwraca (x ** y) % mod.

# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.print(pow_result)

# pow_result = 8

int#

int konwertuje liczbę lub ciąg znaków na liczbę całkowitą. Obsługuje również konwersję bazy podczas konwersji ciągu znaków.

Usage:
int(x, base)

Parametr

Opis

x

Liczba, ciąg znaków lub inny obiekt do konwersji.

base

Opcjonalnie. Podstawa systemu liczbowego używana do konwersji. Domyślnie 10.

# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
brain.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.print(user_number * 2)

# Output: 110

float#

float konwertuje liczbę lub ciąg znaków na liczbę zmiennoprzecinkową.

Usage:
float(x)

Parametr

Opis

x

Liczba, ciąg znaków lub inny obiekt do konwersji.

# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
brain.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)
brain.print(user_number * 3)

# Output: 70.20

Moduł matematyczny#

Moduł math w MicroPythonie udostępnia dodatkowe metody wykonywania typowych obliczeń matematycznych. Metody te obejmują operacje trygonometryczne, logarytmiczne i inne operacje numeryczne.

Moduł math jest domyślnie importowany w VEXcode.

Constants#

Stałe to predefiniowane wartości, które pozostają niezmienne w trakcie projektu. Można ich używać w obliczeniach bez konieczności definiowania lub przypisywania.

liczba pi#

pi oznacza stałą matematyczną π, która jest stosunkiem obwodu koła do jego średnicy.

Usage:
math.pi

# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
brain.print(circle_area, precision=2)

# circle_area = 78.54

mi#

e określa podstawę logarytmu naturalnego.

Usage:
math.e

# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
brain.print(e_power, precision=2)

# e_power = 7.39

Trigonometry#

grzech#

sin oblicza sinus kąta w radianach i zwraca wartość zmiennoprzecinkową.

Usage:
math.sin(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca kąt w radianach.

# Calculate the sine of 
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.print(result, precision=2)

# result = 0.50

sałata#

cos oblicza cosinus kąta w radianach i zwraca wartość zmiennoprzecinkową.

Usage:
math.cos(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca kąt w radianach.

# Calculate the cosine of 
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.print(result, precision=2)

# result = 0.50

dębnik#

tan oblicza tangens kąta w radianach i zwraca wartość zmiennoprzecinkową.

Usage:
math.tan(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca kąt w radianach.

# Calculate the tangent of 
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.print(result)

# result = 1.00

asin#

asin oblicza odwrotność sinusa (arcsinus) liczby i zwraca wartość zmiennoprzecinkową reprezentującą kąt w radianach.

Usage:
math.asin(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita pomiędzy -1 i 1.

# Calculate the arc sine 
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.print(result)

# result = 30.00

akos#

acos oblicza odwrotny cosinus (arc cosinus) liczby i zwraca wartość zmiennoprzecinkową reprezentującą kąt w radianach.

Usage:
math.acos(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita pomiędzy -1 i 1.

# Calculate the arc cosine 
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.print(result)

# result = 60.00

Atan#

atan oblicza odwrotny tangens (arc tangens) liczby i zwraca wartość zmiennoprzecinkową reprezentującą kąt w radianach.

Usage:
math.atan(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita.

# Calculate the arc tangent 
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.print(result)

# result = 45.00

atan2#

atan2 oblicza wartość główną odwrotnego tangensa y/x i zwraca wartość zmiennoprzecinkową reprezentującą kąt w radianach.

Usage:
math.atan2(y, x)

Parametr

Opis

y

Liczba zmiennoprzecinkowa lub całkowita reprezentująca współrzędną y.

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca współrzędną x.

# Calculate the inverse tangent 
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.print(result)

# result = 45.00

stopnie#

degrees konwertuje kąt z radianów na stopnie i zwraca wartość zmiennoprzecinkową.

Usage:
math.degrees(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca kąt w radianach.

# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.print(degrees_result)

# degrees_result = 180.00

radianów#

radians konwertuje kąt ze stopni na radiany jako wartość zmiennoprzecinkową.

Usage:
math.radians(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita reprezentująca kąt w stopniach.

# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.print(radians_result, precision=2)

# radians_result = 3.14

Rounding & Absolute Values#

stropować#

ceil zaokrągla liczbę w górę do najbliższej liczby całkowitej.

Usage:
math.ceil(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita, która ma zostać zaokrąglona w górę.

# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.print(ceil_result)

# ceil_result = 4

podłoga#

floor zaokrągla liczbę w dół do najbliższej liczby całkowitej.

Usage:
math.floor(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita, która ma zostać zaokrąglona w dół.

# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.print(floor_result)

# floor_result = 3

odcięcie#

trunc usuwa część dziesiętną liczby bez zaokrąglania.

Usage:
math.trunc(x)

Parametr

Opis

x

Obiekt typu float, który należy skrócić.

# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.print(trunc_result)

# trunc_result = 3

fabryki#

fabs zwraca wartość bezwzględną liczby jako wartość zmiennoprzecinkową.

Usage:
math.fabs(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita.

# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.print(fabs_result, precision=1)

# fabs_result = 3.7

Exponents & Logarithms#

dziennik#

log oblicza logarytm liczby i zwraca wartość zmiennoprzecinkową.

Usage:
math.log(x, base)

Parametr

Opis

x

Dodatnia liczba zmiennoprzecinkowa lub całkowita.

base

Opcjonalnie. Podstawa logarytmu do użycia. Domyślnie jest to logarytm naturalny.

# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.print(log_result)

# log_result = 2.00

# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.print(log_result)

# log_result = 3.00

log10#

log10 oblicza logarytm dziesiętny danej liczby i zwraca wartość zmiennoprzecinkową.

Usage:
math.log10(x)

Parametr

Opis

x

Dodatnia liczba zmiennoprzecinkowa lub całkowita.

# Calculate the log base 10 of 100
log_result = math.log10(100)
brain.print(log_result)

# log_result = 2.00

pow#

pow podnosi x do potęgi y i zwraca wartość zmiennoprzecinkową, nawet jeśli oba wejścia są liczbami całkowitymi.

Usage:
math.pow(x, y)

Parametr

Opis

x

Podstawa typu float lub integer.

y

Wykładnik zmiennoprzecinkowy lub całkowity.

# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.print(power_result)

# power_result = 8.00

pierwiastek kwadratowy#

sqrt oblicza pierwiastek kwadratowy liczby i zwraca wartość zmiennoprzecinkową, nawet w przypadku kwadratów pełnych.

Usage:
math.sqrt(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita, która nie jest liczbą ujemną.

# Calculate the square root of 16
square_root = math.sqrt(16)
brain.print(square_root)

# square_root = 4.00

do potęgi#

exp oblicza wykładnik liczby i zwraca wartość zmiennoprzecinkową.

Usage:
math.exp(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita.

# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.print(exp_result, precision=2)

# exp_result = 2.72

Floating Point Operations#

modf#

modf rozkłada liczbę na część ułamkową i całkowitą i zwraca krotkę (fractional part, integer part), obie jako liczby zmiennoprzecinkowe.

Usage:
math.modf(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita do rozłożenia.

# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.print(fractional_part, precision=2)

brain.print(integer_part)

# fractional_part = 0.14
# integer_part = 3

frexp#

frexp rozkłada liczbę na mantysę i wykładnik i zwraca krotkę (mantissa, exponent), gdzie mantysa jest liczbą zmiennoprzecinkową, a wykładnik jest liczbą całkowitą.

Usage:
math.frexp(x)

Parametr

Opis

x

Liczba zmiennoprzecinkowa lub całkowita do rozłożenia.

# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.print(mantissa, precision=2)

brain.print(exponent)

# mantissa = 0.50
# exponent = 5

fmod#

fmod zwraca resztę z dzielenia, zachowując znak dzielnej (x).

Usage:
math.fmod(x, y)

Parametr

Opis

x

Dywidenda.

y

Dzielnik.

# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.print(fmod_result)

# fmod_result = 1

znak towarowy#

copysign zwraca x ze znakiem y.

Usage:
math.copysign(x, y)

Parametr

Opis

x

Wartość do zmodyfikowania.

y

Wartość, której znak zostanie skopiowany.

# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.print(copysign_result)

# copysign_result = 10

ldexp#

ldexp oblicza x * (2 ** exp), co jest równoważne x * 2exp.

Usage:
math.ldexp(x, exp)

Parametr

Opis

x

Wartość bazowa.

exp

Wykładnik.

# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.print(ldexp_result)

# ldexp_result = 48