Mathématiques#
Introduction#
Le module Math inclut des fonctions Python intégrées ainsi que le module complet math , disponible automatiquement dans VEXcode GO. Ces outils permettent d’effectuer toutes les opérations, des calculs arithmétiques de base aux opérations trigonométriques avancées, en passant par l’arrondi et les calculs logarithmiques.
Utilisez ces fonctions et constantes pour calculer les positions, les angles, les distances et autres valeurs numériques de votre robot. Vous pouvez également convertir entre degrés et radians, évaluer des expressions et manipuler des valeurs spéciales comme l’infini et NaN.
Vous trouverez ci-dessous une liste des fonctions mathématiques, constantes et utilitaires disponibles :
Fonctions intégrées – Outils mathématiques courants inclus dans Python.
abs– Renvoie la valeur absolue d’un nombre.round– Arrondit un nombre à un nombre spécifié de décimales.min– Renvoie la plus petite des valeurs d’entrée.max– Renvoie la plus grande des valeurs d’entrée.sum– Additionne toutes les valeurs d’un itérable.divmod– Renvoie le quotient et le reste sous forme de tuple.pow– Élève un nombre à une puissance, éventuellement avec un module.int– Convertit une valeur en un entier.float– Convertit une valeur en un nombre à virgule flottante.
Constantes – Valeurs prédéfinies du module mathématique math.
math.pi– La constante π (pi).math.tau– La constante tau (2π).math.e– Nombre d’Euler, base du logarithme naturel.
Trigonométrie – Calcul des angles et des relations entre les côtés.
math.sin– Sinus d’un angle en radians.math.cos– Cosinus d’un angle en radians.math.tan– Tangente d’un angle en radians.math.atan– Arctangente d’une valeur en radians.math.atan2– Arctangente de y/x en radians, en considérant le quadrant.math.asin– Arcsinus d’une valeur en radians.math.acos– Arccosinus d’une valeur en radians.math.degrees– Convertit les radians en degrés.math.radians– Convertit les degrés en radians.
Arrondi et valeur absolue – Ajustez la précision ou la direction.
math.ceil– Arrondit à l’entier supérieur le plus proche.math.floor– Arrondit à l’entier inférieur le plus proche.math.trunc– Supprime la partie décimale.math.fabs– Renvoie la valeur absolue sous forme de nombre flottant.
Exposants et logarithmes – Calculs de puissance, de racine et de logarithme.
math.pow– Élève un nombre à une puissance.math.sqrt– Renvoie la racine carrée.math.exp– Calcule e à la puissance x.math.log– Calculer le logarithme de x.math.log10– Calcule le logarithme en base 10 de x.
Opérations sur les nombres à virgule flottante – Examiner ou décomposer les valeurs flottantes.
math.modf– Renvoie les parties fractionnaire et entière d’un nombre flottant.math.frexp– Décompose un nombre en mantisse et exposant.math.fmod– Reste avec le signe du dividende.math.copysign– Renvoie une valeur avec le signe d’une autre.math.ldexp– Calculex * (2 ** exp).
Fonctions intégrées#
Python propose plusieurs fonctions intégrées qui vous permettent d’effectuer des opérations mathématiques au sein de votre projet.
abs#
abs renvoie la valeur absolue d’un nombre, en supprimant tout signe négatif.
Usage:
abs(x)
Paramètre |
Description |
|---|---|
|
Un entier ou un nombre à virgule flottante. |
def main():
# Get the absolute value of -10
abs_result = abs(-10)
console.print(abs_result)
# abs_result = 10
# Start threads — Do not delete
start_thread(main)
round#
round arrondit un nombre à un nombre spécifié de décimales.
Usage:
round(x, ndigits)
Paramètre |
Description |
|---|---|
|
Un entier ou un nombre à virgule flottante. |
|
Facultatif. Nombre de décimales à arrondir. La valeur par défaut est 0. |
def main():
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
console.print(round_int_result)
# round_int_result = 6
# Start threads — Do not delete
start_thread(main)
def main():
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
console.print(round_result, precision=2)
# round_result = 3.14
# Start threads — Do not delete
start_thread(main)
min#
min renvoie la plus petite valeur parmi plusieurs arguments ou un itérable.
Usage:
min(arg1, arg2, …) or min(sequence)
Paramètre |
Description |
|---|---|
|
Les chiffres à comparer. |
|
Une liste, un tuple ou toute autre séquence contenant des nombres. |
def main():
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
console.print(min_result)
# min_result = 1
# Start threads — Do not delete
start_thread(main)
def main():
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
console.print(min_list_result)
# min_list_result = 1
# Start threads — Do not delete
start_thread(main)
max#
max renvoie la plus grande valeur parmi plusieurs arguments ou un itérable.
Usage:
max(arg1, arg2, …) or max(sequence)
Paramètre |
Description |
|---|---|
|
Les chiffres à comparer. |
|
Une liste, un tuple ou toute autre séquence contenant des nombres. |
def main():
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
console.print(max_result)
# max_result = 7
# Start threads — Do not delete
start_thread(main)
def main():
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
console.print(max_list_result)
# max_list_result = 25
# Start threads — Do not delete
start_thread(main)
sum#
La fonction sum additionne toutes les valeurs d’un itérable, avec une valeur de départ optionnelle.
Usage:
sum(sequence, start)
Paramètre |
Description |
|---|---|
|
Une liste, un tuple ou toute autre séquence contenant des nombres. |
|
Facultatif. Valeur à ajouter à la somme. Par défaut : 0. |
def main():
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
console.print(sum_result)
# sum_result = 15
# Start threads — Do not delete
start_thread(main)
def main():
# 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
# Start threads — Do not delete
start_thread(main)
divmod#
La fonction divmod renvoie un tuple contenant le quotient et le reste d’une opération de division.
Usage:
divmod(a, b)
Paramètre |
Description |
|---|---|
|
Le dividende. |
|
Le diviseur. |
def main():
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
console.print(divmod_result)
# divmod_result = (3, 1)
# Start threads — Do not delete
start_thread(main)
pow#
pow élève un nombre à une puissance et effectue éventuellement une opération modulo.
Usage:
pow(x, y, mod)
Paramètre |
Description |
|---|---|
|
Le nombre de base. |
|
L’exposant. |
|
Facultatif. Une valeur de module. Si elle est fournie, renvoie |
def main():
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
console.print(pow_result)
# pow_result = 8
# Start threads — Do not delete
start_thread(main)
int#
La fonction int convertit un nombre ou une chaîne de caractères en entier. Elle prend également en charge la conversion de base lors de la conversion à partir d’une chaîne de caractères.
Usage:
int(x, base)
Paramètre |
Description |
|---|---|
|
Un nombre, une chaîne de caractères ou tout autre objet à convertir. |
|
Facultatif. Base numérique à utiliser pour la conversion. Par défaut : 10. |
def main():
# 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
# Start threads — Do not delete
start_thread(main)
def main():
# 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
# Start threads — Do not delete
start_thread(main)
float#
float convertit un nombre ou une chaîne de caractères en un nombre à virgule flottante.
Usage:
float(x)
Paramètre |
Description |
|---|---|
|
Un nombre, une chaîne de caractères ou tout autre objet à convertir. |
# 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
Module de mathématiques#
Le module math de MicroPython fournit des méthodes supplémentaires pour effectuer des calculs mathématiques courants. Ces méthodes incluent les opérations trigonométriques, logarithmiques et autres opérations numériques.
Le module math est importé par défaut dans VEXcode.
Constants#
Les constantes sont des valeurs prédéfinies qui restent fixes pendant toute la durée d’un projet. Elles peuvent être utilisées dans les calculs sans nécessiter de définition ni d’affectation.
pi#
pi donne la constante mathématique π, le rapport entre la circonférence d’un cercle et son diamètre.
Usage:
math.pi
def main():
# 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
# Start threads — Do not delete
start_thread(main)
tau#
tau donne la valeur de 2π.
Usage:
math.tau
def main():
# Calculate the circumference of a circle with radius
circumference = math.tau * 5
console.print(circumference, precision=2)
# circumference = 31.42
# Start threads — Do not delete
start_thread(main)
e#
e donne la base du logarithme naturel.
Usage:
math.e
def main():
# 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
# Start threads — Do not delete
start_thread(main)
Trigonometry#
péché#
La fonction sin calcule le sinus d’un angle en radians et renvoie un nombre flottant.
Usage:
math.sin(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier représentant un angle en radians. |
def main():
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
console.print(result, precision=2)
# result = 0.50
# Start threads — Do not delete
start_thread(main)
cos#
La fonction cos calcule le cosinus d’un angle en radians et renvoie un nombre flottant.
Usage:
math.cos(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier représentant un angle en radians. |
def main():
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
console.print(result, precision=2)
# result = 0.50
# Start threads — Do not delete
start_thread(main)
tanné#
La fonction tan calcule la tangente d’un angle en radians et renvoie un entier.
Usage:
math.tan(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier représentant un angle en radians. |
def main():
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
console.print(result)
# result = 1
# Start threads — Do not delete
start_thread(main)
asin#
La fonction asin calcule l’arc sinus d’un nombre et renvoie un entier représentant l’angle en radians.
Usage:
math.asin(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier compris entre -1 et 1. |
def main():
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
console.print(result)
# result = 30
# Start threads — Do not delete
start_thread(main)
acos#
acos calcule l’arc cosinus d’un nombre et renvoie un entier représentant l’angle en radians.
Usage:
math.acos(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier compris entre -1 et 1. |
def main():
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
console.print(result)
# result = 60
# Start threads — Do not delete
start_thread(main)
atan#
atan calcule l’arc tangente d’un nombre et renvoie un entier représentant l’angle en radians.
Usage:
math.atan(x)
Paramètre |
Description |
|---|---|
|
Un nombre à virgule flottante ou un entier. |
def main():
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
console.print(result)
# result = 45
# Start threads — Do not delete
start_thread(main)
atan2#
atan2 calcule la valeur principale de l’inverse tangente de y/x et renvoie un nombre flottant représentant l’angle en radians.
Usage:
math.atan2(y, x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou entier représentant la coordonnée y. |
|
Un nombre flottant ou entier représentant la coordonnée x. |
def main():
# 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
# Start threads — Do not delete
start_thread(main)
diplômes#
La fonction degrees convertit un angle de radians en degrés et renvoie un entier.
Usage:
math.degrees(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier représentant un angle en radians. |
def main():
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
console.print(degrees_result)
# degrees_result = 180
# Start threads — Do not delete
start_thread(main)
radians#
radians convertit un angle de degrés en radians.
Usage:
math.radians(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier représentant un angle en degrés. |
def main():
# Convert 180 degrees to radians
radians_result = math.radians(180)
console.print(radians_result, precision=2)
# radians_result = 3.14
# Start threads — Do not delete
start_thread(main)
Rounding & Absolute Values#
plafond#
ceil arrondit un nombre à l’entier supérieur le plus proche.
Usage:
math.ceil(x)
Paramètre |
Description |
|---|---|
|
Un nombre décimal ou entier à arrondir à l’entier supérieur. |
def main():
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
console.print(ceil_result)
# ceil_result = 4
# Start threads — Do not delete
start_thread(main)
sol#
floor arrondit un nombre à l’entier inférieur le plus proche.
Usage:
math.floor(x)
Paramètre |
Description |
|---|---|
|
Un nombre décimal ou entier à arrondir à l’inférieur. |
def main():
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
console.print(floor_result)
# floor_result = 3
# Start threads — Do not delete
start_thread(main)
troncature#
trunc supprime la partie décimale d’un nombre sans arrondir.
Usage:
math.trunc(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant à tronquer. |
def main():
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
console.print(trunc_result)
# trunc_result = 3
# Start threads — Do not delete
start_thread(main)
fabs#
fabs renvoie la valeur absolue d’un nombre sous forme de nombre flottant.
Usage:
math.fabs(x)
Paramètre |
Description |
|---|---|
|
Un nombre à virgule flottante ou un entier. |
def main():
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
console.print(fabs_result, precision=1)
# fabs_result = 3.7
# Start threads — Do not delete
start_thread(main)
Exponents & Logarithms#
enregistrer#
La fonction log calcule le logarithme d’un nombre et renvoie un nombre flottant.
Usage:
math.log(x, base)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier positif. |
|
Facultatif. Base du logarithme à utiliser. Par défaut, il s’agit du logarithme népérien. |
def main():
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
console.print(log_result)
# log_result = 2
# Start threads — Do not delete
start_thread(main)
def main():
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
console.print(log_result)
# log_result = 3
# Start threads — Do not delete
start_thread(main)
log10#
log10 calcule le logarithme décimal d’un nombre et renvoie un nombre flottant.
Usage:
math.log10(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier positif. |
def main():
# Calculate the base-10 logarithm of 100
log10_result = math.log10(100)
console.print(log10_result)
# log10_result = 2
# Start threads — Do not delete
start_thread(main)
pouvoir#
La fonction pow élève x à la puissance y et renvoie un nombre flottant, même si les deux entrées sont des entiers.
Usage:
math.pow(x, y)
Paramètre |
Description |
|---|---|
|
Une base flottante ou entière. |
|
Un exposant flottant ou entier. |
def main():
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)
# power_result = 8
# Start threads — Do not delete
start_thread(main)
racine carrée#
La fonction sqrt calcule la racine carrée d’un nombre et renvoie un nombre flottant, même pour les carrés parfaits.
Usage:
math.sqrt(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou un entier non négatif. |
def main():
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)
# power_result = 8
# Start threads — Do not delete
start_thread(main)
exp#
La fonction exp calcule l’exponentielle d’un nombre et renvoie un nombre flottant.
Usage:
math.exp(x)
Paramètre |
Description |
|---|---|
|
Un nombre à virgule flottante ou un entier. |
def main():
# Calculate e raised to the power of 1
exp_result = math.exp(1)
console.print(exp_result, precision=2)
# exp_result = 2.72
# Start threads — Do not delete
start_thread(main)
Floating Point Operations#
modf#
modf décompose un nombre en ses parties fractionnaire et entière et renvoie un tuple (fractional part, integer part), les deux sous forme de nombres flottants.
Usage:
math.modf(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou entier à décomposer. |
def main():
# 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
# Start threads — Do not delete
start_thread(main)
frexp#
frexp décompose un nombre en sa mantisse et son exposant et renvoie un tuple (mantissa, exponent), où la mantisse est un nombre flottant et l’exposant est un entier.
Usage:
math.frexp(x)
Paramètre |
Description |
|---|---|
|
Un nombre flottant ou entier à décomposer. |
def main():
# 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
# Start threads — Do not delete
start_thread(main)
fmod#
fmod renvoie le reste de la division tout en conservant le signe du dividende (x).
Usage:
math.fmod(x, y)
Paramètre |
Description |
|---|---|
|
Le dividende. |
|
Le diviseur. |
def main():
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
console.print(fmod_result)
# fmod_result = 1
# Start threads — Do not delete
start_thread(main)
copyright#
copysign renvoie x avec le signe de y.
Usage:
math.copysign(x, y)
Paramètre |
Description |
|---|---|
|
La valeur à modifier. |
|
La valeur dont le signe sera copié. |
def main():
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
console.print(copysign_result)
# copysign_result = 10
# Start threads — Do not delete
start_thread(main)
ldexp#
ldexp calcule x * (2 ** exp), ce qui est équivalent à x * 2exp.
Usage:
math.ldexp(x, exp)
Paramètre |
Description |
|---|---|
|
La valeur de base. |
|
L’exposant. |
def main():
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
console.print(ldexp_result)
# ldexp_result = 48
# Start threads — Do not delete
start_thread(main)