3.21. Funkcje matematyczne Lua

Notatka: Przy definiowaniu własnych parametrów (zobacz: Sekcja 3.15) możesz obok podstawowych działań arytmetycznych, użyć bardziej złożonych funkcji matematycznych. Wykorzystuje się do tego bibliotekę math, w której funkcje są zdefiniowane.

Poniżej znajdziesz listę funkcji, których możesz użyć podczas definiowania. Żeby je zastosować, musisz poprzedzić ich nazwę odwołaniem do biblioteki math, czyli korzystając z funkcji "sqrt" (wyliczenie pierwiastka), musisz wpisać:

math.sqrt(100)

Tabela 3-1. Funkcje Lua do tworzenia własnych parametrów

FunkcjaWynik działania funkcjiPrzykład użycia
abs(x)wartość absolutna argumentu x
math.abs(4)
sin(x), cos(x), tan(x)sinus, cosinus, tangens kąta x podanego w radianach
math.sin(0)
asin(x), acos(x), atan(x)arcus sinus, arcus cosinus, arcus tangens wartości x
math.asin(1)
sinh(x), cosh(x), tanh(x)sinus hiperboliczny, cosinus hiperboliczny, tangens hiperboliczny wartości x
math.sinh()
ceil(x), floor(x)funkcje zaokrąglające liczbę x do najbliższej wartości całkowitej, odpowiednio, w górę i w dół
math.ceil(4.5)
deg(x), rad(x)zamiana z radianów na stopnie (deg) oraz ze stopni na radiany (rad)
math.rad(90)
exp(x)podniesienie e do potęgi x
math.exp(3)
log(x)logarytm naturalny z x
math.log(10)
log10(x)logarytm o podstawie 10 z x
math.log10(100)
pow(x,y)x podniesione do potęgi y (można też użyć x^y)
math.pow(2,3)
sqrt(x)pierwiastek z x
math.sqrt(9)
min(x,y,z)wartość minimalna z podanej listy argumentów
math.min(7,4,12)
max(x,y,z)wartość maksymalna z podanej listy argumentów
math.max(3,4.5,1)
modf(x)dwa argumenty - wartość całkowita x oraz wartość po przecinku
math.modf(5.3)
random([x],[y])wartość losowa z zakresu: (0;1), gdy uruchomiona bez argumentu, (0;x) - podany jeden argument, (x;y) - podane dwa argumenty
math.random(23,80)
hugenieskończoność (czasem może być przydatna w połączeniu z funkcjami trygonometrycznymi)
math.huge
piwartość stałej pi
math.pi

Więcej o pisaniu własnych funkcji możesz przeczytać w rozdziale Parametry definiowalne LUA dokumentu System SZARP - dokumentacja techniczna.