Lua - математическая библиотека

Нам часто нужны математические операции в научных и инженерных расчетах, и мы можем воспользоваться этим, используя стандартную математическую библиотеку Lua. Список функций, доступных в математической библиотеке, показан в следующей таблице.

Sr. No. Библиотека / Метод и цель
1

math.abs (x)

Возвращает абсолютное значение x.

2

math.acos (x)

Возвращает арккосинус x (в радианах).

3

math.asin (x)

Возвращает арксинус x (в радианах).

4

math.atan (x)

Возвращает арктангенс x (в радианах).

5

math.atan2 (y, x)

Возвращает арктангенс y / x (в радианах), но использует знаки обоих параметров, чтобы найти квадрант результата. (Он также правильно обрабатывает случай, когда x равен нулю.)

6

math.ceil (x)

Возвращает наименьшее целое число, большее или равное x.

7

math.cos (x)

Возвращает косинус x (предполагается, что он выражен в радианах).

8

math.cosh (x)

Возвращает гиперболический косинус x.

9

math.deg (x)

Возвращает угол x (в радианах) в градусах.

10

math.exp (x)

Возвращает значение e power x.

11

math.floor (x)

Возвращает наибольшее целое число, меньшее или равное x.

12

math.fmod (x, y)

Возвращает остаток от деления x на y, округляя частное до нуля.

13

math.frexp (x)

Возвращает m и e так, что x = m2e, e является целым числом, а абсолютное значение m находится в диапазоне [0,5, 1) (или ноль, если x равно нулю).

14

math.huge

Значение HUGE_VAL, значение больше или равное любому другому числовому значению.

15

math.ldexp (m, e)

Возвращает m2e (e должно быть целым числом).

16

math.log (x)

Возвращает натуральный логарифм x.

17

math.log10 (x)

Возвращает десятичный логарифм числа x.

18

math.max (x, ...)

Возвращает максимальное значение среди своих аргументов.

19

math.min (x, ...)

Возвращает минимальное значение среди своих аргументов.

20

math.modf (x)

Возвращает два числа: целую часть x и дробную часть x.

21 год

math.pi

Значение пи.

22

math.pow (x, y)

Возвращает xy. (Вы также можете использовать выражение x ^ y для вычисления этого значения.)

23

math.rad (x)

Возвращает угол x (в градусах) в радианах.

24

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

Эта функция является интерфейсом к простой функции псевдослучайного генератора rand, предоставляемой ANSI C. При вызове без аргументов возвращает однородное псевдослучайное действительное число в диапазоне [0,1). При вызове с целым числом m math.random возвращает однородное псевдослучайное целое число в диапазоне [1, m]. При вызове с двумя целыми числами m и n math.random возвращает однородное псевдослучайное целое число в диапазоне [m, n].

25

math.randomseed (x)

Устанавливает x как «начальное число» для псевдослучайного генератора: равные начальные числа производят равные последовательности чисел.

26

math.sin (x)

Возвращает синус x (предполагается, что он выражен в радианах).

27

math.sinh (x)

Возвращает гиперболический синус x.

28

math.sqrt (x)

Возвращает квадратный корень из x. (Вы также можете использовать выражение x ^ 0.5 для вычисления этого значения.)

29

math.tan (x)

Возвращает тангенс x (предполагается, что он выражен в радианах).

30

math.tanh (x)

Возвращает гиперболический тангенс x.

Тригонометрические функции

Ниже показан простой пример использования тригонометрической функции.

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

Когда мы запустим вышеуказанную программу, мы получим следующий результат.

0.027415567780804
0.0 
1.0 
0.0 
1.0 
180

Другие общие математические функции

Ниже показан простой пример использования общих математических функций.

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

Когда мы запустим вышеуказанную программу, мы получим следующий результат.

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

Приведенные выше примеры - это лишь некоторые из распространенных примеров, мы можем использовать математическую библиотеку в зависимости от наших потребностей, поэтому попробуйте использовать все функции, чтобы быть более знакомыми.