Mathématiques#

Introduction#

Le module Math inclut des fonctions Python intégrées ainsi que le module complet math , disponible automatiquement dans VEXcode. 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.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.log – Calculer le logarithme naturel de x.

  • math.log10 – Calculer le logarithme de x (base 10).

  • math.pow – Élève un nombre à une puissance.

  • math.sqrt – Renvoie la racine carrée.

  • math.exp – Calcule e à la puissance 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 – Calcule x * (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

x

Un entier ou un nombre à virgule flottante.

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

# abs_result = 10

round#

round arrondit un nombre à un nombre spécifié de décimales.

Usage:
round(x, ndigits)

Paramètre

Description

x

Un entier ou un nombre à virgule flottante.

ndigits

Facultatif. Nombre de décimales à arrondir. La valeur par défaut est 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 renvoie la plus petite valeur parmi plusieurs arguments ou un itérable.

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

Paramètre

Description

arg1, arg2, …

Les chiffres à comparer.

sequence

Une liste, un tuple ou toute autre séquence contenant des nombres.

# 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 renvoie la plus grande valeur parmi plusieurs arguments ou un itérable.

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

Paramètre

Description

arg1, arg2, …

Les chiffres à comparer.

sequence

Une liste, un tuple ou toute autre séquence contenant des nombres.

# 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#

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

sequence

Une liste, un tuple ou toute autre séquence contenant des nombres.

start

Facultatif. Valeur à ajouter à la somme. Par défaut : 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#

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

a

Le dividende.

b

Le diviseur.

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

# divmod_result = (3, 1)

pow#

pow élève un nombre à une puissance et effectue éventuellement une opération modulo.

Usage:
pow(x, y, mod)

Paramètre

Description

x

Le nombre de base.

y

L’exposant.

mod

Facultatif. Une valeur de module. Si elle est fournie, renvoie (x ** y) % mod.

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

# pow_result = 8

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

x

Un nombre, une chaîne de caractères ou tout autre objet à convertir.

base

Facultatif. Base numérique à utiliser pour la conversion. Par défaut : 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 convertit un nombre ou une chaîne de caractères en un nombre à virgule flottante.

Usage:
float(x)

Paramètre

Description

x

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
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

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

# 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

e#

e donne la base du logarithme naturel.

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#

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

x

Un nombre flottant ou un entier représentant un angle en radians.

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

# result = 0.50

cos#

La fonction cos calcule le cosinus d’un angle en radians et renvoie un nombre flottant.

Usage:
math.cos(x)

Paramètre

Description

x

Un nombre flottant ou un entier représentant un angle en radians.

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

# result = 0.50

tanné#

La fonction tan calcule la tangente d’un angle en radians et renvoie un nombre flottant.

Usage:
math.tan(x)

Paramètre

Description

x

Un nombre flottant ou un entier représentant un angle en radians.

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

# result = 1.00

asin#

La fonction asin calcule l’arc sinus d’un nombre et renvoie un nombre flottant représentant l’angle en radians.

Usage:
math.asin(x)

Paramètre

Description

x

Un nombre flottant ou un entier compris entre -1 et 1.

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

# result = 30.00

acos#

acos calcule le cosinus inverse (arc cosinus) d’un nombre et renvoie un nombre flottant représentant l’angle en radians.

Usage:
math.acos(x)

Paramètre

Description

x

Un nombre flottant ou un entier compris entre -1 et 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 calcule l’arc tangente d’un nombre et renvoie un nombre flottant représentant l’angle en radians.

Usage:
math.atan(x)

Paramètre

Description

x

Un nombre à virgule flottante ou un entier.

# 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 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

y

Un nombre flottant ou entier représentant la coordonnée y.

x

Un nombre flottant ou entier représentant la coordonnée 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

diplômes#

La fonction degrees convertit un angle de radians en degrés et renvoie un nombre flottant.

Usage:
math.degrees(x)

Paramètre

Description

x

Un nombre flottant ou un entier représentant un angle en radians.

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

# degrees_result = 180.00

radians#

radians convertit un angle de degrés en radians sous forme de nombre flottant.

Usage:
math.radians(x)

Paramètre

Description

x

Un nombre flottant ou un entier représentant un angle en degrés.

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

# radians_result = 3.14

Rounding & Absolute Values#

plafond#

ceil arrondit un nombre à l’entier supérieur le plus proche.

Usage:
math.ceil(x)

Paramètre

Description

x

Un nombre décimal ou entier à arrondir à l’entier supérieur.

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

# ceil_result = 4

sol#

floor arrondit un nombre à l’entier inférieur le plus proche.

Usage:
math.floor(x)

Paramètre

Description

x

Un nombre décimal ou entier à arrondir à l’inférieur.

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

# floor_result = 3

troncature#

trunc supprime la partie décimale d’un nombre sans arrondir.

Usage:
math.trunc(x)

Paramètre

Description

x

Un nombre flottant à tronquer.

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

# trunc_result = 3

fabs#

fabs renvoie la valeur absolue d’un nombre sous forme de nombre flottant.

Usage:
math.fabs(x)

Paramètre

Description

x

Un nombre à virgule flottante ou un entier.

# 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#

enregistrer#

La fonction log calcule le logarithme d’un nombre et renvoie un nombre flottant.

Usage:
math.log(x, base)

Paramètre

Description

x

Un nombre flottant ou un entier positif.

base

Facultatif. Base du logarithme à utiliser. Par défaut, il s’agit du logarithme népérien.

# 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 calcule le logarithme décimal d’un nombre et renvoie un nombre flottant.

Usage:
math.log10(x)

Paramètre

Description

x

Un nombre flottant ou un entier positif.

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

# log_result = 2.00

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

x

Une base flottante ou entière.

y

Un exposant flottant ou entier.

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

# power_result = 8.00

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

x

Un nombre flottant ou un entier non négatif.

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

# square_root = 4.00

exp#

La fonction exp calcule l’exponentielle d’un nombre et renvoie un nombre flottant.

Usage:
math.exp(x)

Paramètre

Description

x

Un nombre à virgule flottante ou un entier.

# 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 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

x

Un nombre flottant ou entier à décomposer.

# 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 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

x

Un nombre flottant ou entier à décomposer.

# 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 renvoie le reste de la division tout en conservant le signe du dividende (x).

Usage:
math.fmod(x, y)

Paramètre

Description

x

Le dividende.

y

Le diviseur.

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

# fmod_result = 1

copyright#

copysign renvoie x avec le signe de y.

Usage:
math.copysign(x, y)

Paramètre

Description

x

La valeur à modifier.

y

La valeur dont le signe sera copié.

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

# copysign_result = 10

ldexp#

ldexp calcule x * (2 ** exp), ce qui est équivalent à x * 2exp.

Usage:
math.ldexp(x, exp)

Paramètre

Description

x

La valeur de base.

exp

L’exposant.

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

# ldexp_result = 48