Lua - biblioteka matematyczna
Często potrzebujemy operacji matematycznych w obliczeniach naukowych i inżynieryjnych i możemy to wykorzystać, używając standardowej matematyki biblioteki Lua. Lista funkcji dostępnych w bibliotece matematycznej jest pokazana w poniższej tabeli.
Sr.No. | Biblioteka / metoda i cel |
---|---|
1 | math.abs (x) Zwraca wartość bezwzględną x. |
2 | math.acos (x) Zwraca arcus cosinus z x (w radianach). |
3 | math.asin (x) Zwraca arcus sinus z x (w radianach). |
4 | math.atan (x) Zwraca styczną łuku dla x (w radianach). |
5 | math.atan2 (y, x) Zwraca styczną łuku dla y / x (w radianach), ale używa znaków obu parametrów, aby znaleźć ćwiartkę wyniku. (Również poprawnie obsługuje przypadek, w którym x jest zerem). |
6 | math.ceil (x) Zwraca najmniejszą liczbę całkowitą większą lub równą x. |
7 | math.cos (x) Zwraca cosinus funkcji x (przyjmuje się, że jest on wyrażony w radianach). |
8 | math.cosh (x) Zwraca cosinus hiperboliczny z x. |
9 | math.deg (x) Zwraca kąt x (podany w radianach) w stopniach. |
10 | math.exp (x) Zwraca wartość e power x. |
11 | math.floor (x) Zwraca największą liczbę całkowitą mniejszą lub równą x. |
12 | math.fmod (x, y) Zwraca pozostałą część z dzielenia x przez y, która zaokrągla iloraz w kierunku zera. |
13 | math.frexp (x) Zwraca m i e takie, że x = m2e, e jest liczbą całkowitą, a wartość bezwzględna m należy do zakresu [0,5, 1) (lub zero, gdy x wynosi zero). |
14 | math.huge Wartość HUGE_VAL, wartość większa lub równa dowolnej innej wartości liczbowej. |
15 | math.ldexp (m, e) Zwraca m2e (e powinno być liczbą całkowitą). |
16 | math.log (x) Zwraca logarytm naturalny z x. |
17 | math.log10 (x) Zwraca logarytm dziesiętny z x. |
18 | math.max (x, ...) Zwraca maksymalną wartość spośród jej argumentów. |
19 | math.min (x, ...) Zwraca minimalną wartość spośród jej argumentów. |
20 | math.modf (x) Zwraca dwie liczby, część całkowitą x i część ułamkową x. |
21 | math.pi Wartość pi. |
22 | math.pow (x, y) Zwraca xy. (Aby obliczyć tę wartość, możesz również użyć wyrażenia x ^ y). |
23 | math.rad (x) Zwraca kąt x (podany w stopniach) w radianach. |
24 | math.random ([m [, n]]) Ta funkcja jest interfejsem do prostej funkcji generatora pseudolosowego rand dostarczonej przez ANSI C. Wywołana bez argumentów zwraca jednolitą pseudolosową liczbę rzeczywistą z zakresu [0,1). Funkcja math.random wywołana z liczbą całkowitą m zwraca jednolitą pseudolosową liczbę całkowitą z zakresu [1, m]. Funkcja math.random wywołana z dwiema liczbami całkowitymi m i n zwraca jednolitą pseudolosową liczbę całkowitą z zakresu [m, n]. |
25 | math.randomseed (x) Ustawia x jako „ziarno” dla generatora pseudolosowego: równe nasiona tworzą równe sekwencje liczb. |
26 | math.sin (x) Zwraca sinus z x (przyjmuje się, że jest on wyrażony w radianach). |
27 | math.sinh (x) Zwraca sinus hiperboliczny z x. |
28 | math.sqrt (x) Zwraca pierwiastek kwadratowy z x. (Aby obliczyć tę wartość, możesz również użyć wyrażenia x ^ 0,5). |
29 | math.tan (x) Zwraca tangens x (przyjmuje się, że jest on wyrażony w radianach). |
30 | math.tanh (x) Zwraca tangens hiperboliczny z x. |
Funkcje trygonometryczne
Poniżej przedstawiono prosty przykład użycia funkcji trygonometrycznej.
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")
Kiedy uruchomimy powyższy program, otrzymamy następujące dane wyjściowe.
0.027415567780804
0.0
1.0
0.0
1.0
180
Inne popularne funkcje matematyczne
Poniżej przedstawiono prosty przykład użycia typowych funkcji matematycznych.
-- 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")
Kiedy uruchomimy powyższy program, otrzymamy następujące dane wyjściowe.
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
Powyższe przykłady to tylko kilka typowych przykładów, możemy użyć biblioteki matematycznej w zależności od naszych potrzeb, więc spróbuj użyć wszystkich funkcji, aby być bardziej znanym.