Lua - Bibliothèque de mathématiques
Nous avons souvent besoin d'opérations mathématiques dans les calculs scientifiques et d'ingénierie et nous pouvons en profiter en utilisant les mathématiques standard de la bibliothèque Lua. La liste des fonctions disponibles dans la bibliothèque mathématique est présentée dans le tableau suivant.
N ° Sr. | Bibliothèque / méthode et objectif |
---|---|
1 | math.abs (x) Renvoie la valeur absolue de x. |
2 | math.acos (x) Renvoie l'arc cosinus de x (en radians). |
3 | math.asin (x) Renvoie l'arc sinus de x (en radians). |
4 | math.atan (x) Renvoie l'arc tangent de x (en radians). |
5 | math.atan2 (y, x) Renvoie l'arc tangent de y / x (en radians), mais utilise les signes des deux paramètres pour trouver le quadrant du résultat. (Il gère également correctement le cas où x est égal à zéro.) |
6 | math.ceil (x) Renvoie le plus petit entier supérieur ou égal à x. |
sept | math.cos (x) Renvoie le cosinus de x (supposé être en radians). |
8 | math.cosh (x) Renvoie le cosinus hyperbolique de x. |
9 | math.deg (x) Renvoie l'angle x (exprimé en radians) en degrés. |
dix | math.exp (x) Renvoie la valeur e puissance x. |
11 | math.floor (x) Renvoie le plus grand entier inférieur ou égal à x. |
12 | math.fmod (x, y) Renvoie le reste de la division de x par y qui arrondit le quotient vers zéro. |
13 | math.frexp (x) Renvoie m et e tels que x = m2e, e est un entier et la valeur absolue de m est dans la plage [0,5, 1) (ou zéro lorsque x vaut zéro). |
14 | math.huge La valeur HUGE_VAL, une valeur supérieure ou égale à toute autre valeur numérique. |
15 | math.ldexp (m, e) Renvoie m2e (e doit être un entier). |
16 | math.log (x) Renvoie le logarithme naturel de x. |
17 | math.log10 (x) Renvoie le logarithme en base 10 de x. |
18 | math.max (x, ...) Renvoie la valeur maximale parmi ses arguments. |
19 | math.min (x, ...) Renvoie la valeur minimale parmi ses arguments. |
20 | math.modf (x) Renvoie deux nombres, la partie intégrale de x et la partie fractionnaire de x. |
21 | math.pi La valeur de pi. |
22 | math.pow (x, y) Renvoie xy. (Vous pouvez également utiliser l'expression x ^ y pour calculer cette valeur.) |
23 | math.rad (x) Renvoie l'angle x (exprimé en degrés) en radians. |
24 | math.random ([m [, n]]) Cette fonction est une interface avec la fonction de générateur pseudo-aléatoire simple rand fournie par ANSI C. Lorsqu'elle est appelée sans argument, renvoie un nombre réel pseudo-aléatoire uniforme dans la plage [0,1). Lorsqu'il est appelé avec un nombre entier m, math.random renvoie un entier pseudo-aléatoire uniforme dans la plage [1, m]. Lorsqu'il est appelé avec deux nombres entiers m et n, math.random renvoie un entier pseudo-aléatoire uniforme dans la plage [m, n]. |
25 | math.randomseed (x) Définit x comme "graine" pour le générateur pseudo-aléatoire: des graines égales produisent des séquences égales de nombres. |
26 | math.sin (x) Renvoie le sinus de x (supposé être en radians). |
27 | math.sinh (x) Renvoie le sinus hyperbolique de x. |
28 | math.sqrt (x) Renvoie la racine carrée de x. (Vous pouvez également utiliser l'expression x ^ 0,5 pour calculer cette valeur.) |
29 | math.tan (x) Renvoie la tangente de x (supposée être en radians). |
30 | math.tanh (x) Renvoie la tangente hyperbolique de x. |
Fonctions trigonométriques
Un exemple simple d'utilisation de la fonction trigonométrique est présenté ci-dessous.
radianVal = math.rad(math.pi / 2)
io.write(radianVal,"\n")
-- Sin value of 90(math.pi / 2) degrees
io.write(string.format("%.1f ", math.sin(radianVal)),"\n")
-- Cos value of 90(math.pi / 2) degrees
io.write(string.format("%.1f ", math.cos(radianVal)),"\n")
-- Tan value of 90(math.pi / 2) degrees
io.write(string.format("%.1f ", math.tan(radianVal)),"\n")
-- Cosh value of 90(math.pi / 2) degrees
io.write(string.format("%.1f ", math.cosh(radianVal)),"\n")
-- Pi Value in degrees
io.write(math.deg(math.pi),"\n")
Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.
0.027415567780804
0.0
1.0
0.0
1.0
180
Autres fonctions mathématiques courantes
Un exemple simple utilisant des fonctions mathématiques courantes est présenté ci-dessous.
-- Floor
io.write("Floor of 10.5055 is ", math.floor(10.5055),"\n")
-- Ceil
io.write("Ceil of 10.5055 is ", math.ceil(10.5055),"\n")
-- Square root
io.write("Square root of 16 is ",math.sqrt(16),"\n")
-- Power
io.write("10 power 2 is ",math.pow(10,2),"\n")
io.write("100 power 0.5 is ",math.pow(100,0.5),"\n")
-- Absolute
io.write("Absolute value of -10 is ",math.abs(-10),"\n")
--Random
math.randomseed(os.time())
io.write("Random number between 1 and 100 is ",math.random(),"\n")
--Random between 1 to 100
io.write("Random number between 1 and 100 is ",math.random(1,100),"\n")
--Max
io.write("Maximum in the input array is ",math.max(1,100,101,99,999),"\n")
--Min
io.write("Minimum in the input array is ",math.min(1,100,101,99,999),"\n")
Lorsque nous exécutons le programme ci-dessus, nous obtiendrons la sortie suivante.
Floor of 10.5055 is 10
Ceil of 10.5055 is 11
Square root of 16 is 4
10 power 2 is 100
100 power 0.5 is 10
Absolute value of -10 is 10
Random number between 1 and 100 is 0.22876674703207
Random number between 1 and 100 is 7
Maximum in the input array is 999
Minimum in the input array is 1
Les exemples ci-dessus ne sont que quelques-uns des exemples courants, nous pouvons utiliser une bibliothèque mathématique en fonction de nos besoins, essayez donc d'utiliser toutes les fonctions pour être plus familier.