Lua - Libreria matematica

Spesso abbiamo bisogno di operazioni matematiche nei calcoli scientifici e ingegneristici e possiamo avvalerci di questo utilizzando la matematica della libreria Lua standard. L'elenco delle funzioni disponibili nella libreria matematica è mostrato nella tabella seguente.

Sr.No. Libreria / Metodo e scopo
1

math.abs (x)

Restituisce il valore assoluto di x.

2

math.acos (x)

Restituisce l'arcocoseno di x (in radianti).

3

math.asin (x)

Restituisce l'arcoseno di x (in radianti).

4

math.atan (x)

Restituisce l'arcotangente di x (in radianti).

5

math.atan2 (y, x)

Restituisce l'arcotangente di y / x (in radianti), ma utilizza i segni di entrambi i parametri per trovare il quadrante del risultato. (Gestisce correttamente anche il caso in cui x è zero.)

6

math.ceil (x)

Restituisce il numero intero più piccolo maggiore o uguale a x.

7

math.cos (x)

Restituisce il coseno di x (assunto in radianti).

8

math.cosh (x)

Restituisce il coseno iperbolico di x.

9

math.deg (x)

Restituisce l'angolo x (espresso in radianti) in gradi.

10

math.exp (x)

Restituisce il valore e potenza x.

11

math.floor (x)

Restituisce il numero intero più grande minore o uguale a x.

12

math.fmod (x, y)

Restituisce il resto della divisione di x per y che arrotonda il quoziente verso zero.

13

math.frexp (x)

Restituisce m ed e tali che x = m2e, e è un numero intero e il valore assoluto di m è compreso nell'intervallo [0,5, 1) (o zero quando x è zero).

14

math.huge

Il valore HUGE_VAL, un valore maggiore o uguale a qualsiasi altro valore numerico.

15

math.ldexp (m, e)

Restituisce m2e (e dovrebbe essere un numero intero).

16

math.log (x)

Restituisce il logaritmo naturale di x.

17

math.log10 (x)

Restituisce il logaritmo in base 10 di x.

18

math.max (x, ...)

Restituisce il valore massimo tra i suoi argomenti.

19

math.min (x, ...)

Restituisce il valore minimo tra i suoi argomenti.

20

math.modf (x)

Restituisce due numeri, la parte integrale di x e la parte frazionaria di x.

21

math.pi

Il valore di pi greco.

22

math.pow (x, y)

Restituisce xy. (Puoi anche usare l'espressione x ^ y per calcolare questo valore.)

23

math.rad (x)

Restituisce l'angolo x (espresso in gradi) in radianti.

24

math.random ([m [, n]])

Questa funzione è un'interfaccia per la semplice funzione generatore pseudocasuale rand fornita da ANSI C.Quando viene chiamata senza argomenti, restituisce un numero reale pseudocasuale uniforme nell'intervallo [0,1). Quando viene chiamato con un numero intero m, math.random restituisce un numero intero pseudocasuale uniforme nell'intervallo [1, m]. Quando viene chiamato con due numeri interi m e n, math.random restituisce un intero pseudo-casuale uniforme nell'intervallo [m, n].

25

math.randomseed (x)

Imposta x come "seme" per il generatore pseudocasuale: semi uguali producono sequenze di numeri uguali.

26

math.sin (x)

Restituisce il seno di x (assunto in radianti).

27

math.sinh (x)

Restituisce il seno iperbolico di x.

28

math.sqrt (x)

Restituisce la radice quadrata di x. (Puoi anche usare l'espressione x ^ 0,5 per calcolare questo valore.)

29

math.tan (x)

Restituisce la tangente di x (che si presume sia in radianti).

30

math.tanh (x)

Restituisce la tangente iperbolica di x.

Funzioni trigonometriche

Di seguito è mostrato un semplice esempio di utilizzo della funzione trigonometrica.

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

Quando eseguiamo il programma precedente, otterremo il seguente output.

0.027415567780804
0.0 
1.0 
0.0 
1.0 
180

Altre funzioni matematiche comuni

Di seguito viene mostrato un semplice esempio di utilizzo delle funzioni matematiche comuni.

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

Quando eseguiamo il programma precedente, otterremo il seguente output.

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

Gli esempi sopra sono solo alcuni degli esempi comuni, possiamo usare la libreria matematica in base alle nostre necessità, quindi prova a utilizzare tutte le funzioni per essere più familiare.