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

Lua представляет собой скриптовый язык программирования. Он удобный, легкий и быстрый. Основная цель его создание – язык программирование баз данных. Поэтому все программирование на Lua сводится к разным манипуляциям с таблицами.

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

Функции в математической библиотеке

Имя функцииОписание функции
math.abs (x)Возвращает абсолютное значение х.
math.cos (x)Возвращает косинус x (предполагается в радианах).Возвращает арккосинус от x (в радианах).
math.asin (x)Возвращает арксинус x (в радианах).
математика (х)Возвращает арктангенс х (в радианах).
math.atan2 (у, х)

 

Возвращает арктангенс y / x (в радианах), но применяет знаки обоих параметров, дабы найти квадрант результата. (также он правильно обрабатывает случай, когда х равен нулю.)
math.hugeЗначение HUGE_VAL, значение равно или больше любому другому числовому значению.
math.acos (x)Возвращает арккосинус от x (в радианах).
math.cosh (x)Возвращает гиперболический косинус x.
math.deg (x)Возвращает угол x (в радианах) в градусах.
math.exp (x)Возвращает значение e power x.
math.floor (x)Возвращает наибольшее целое число, равное или меньшее x.
math.fmod (x, y)Возвращает остаток от деления x на y, которое округляет частное к нулю.
math.pow (x, y)

 

Возвращает ху. (Вы также можете использовать выражение x ^ y для вычисления этого значения.)
math.ceil (x)Возвращает наименьшее целое число, равное или больше x.
math.ldexp (м, е)Возвращает m2e (e должно быть целым числом).
math.log (x)Возвращает натуральный логарифм x.
math.log10 (x)Возвращает основание-10 логарифм х.
math.max (x, …)Возвращает максимальное значение среди своих аргументов.
math.min (x, …)Возвращает минимальное значение среди своих аргументов.
math.modf (x)Возвращает два числа, неотъемлемую часть x и дробную часть x.
math.piЗначение пи.
math.frexp (x)Возвращает m и e, такие что x = m2e, e — целое число, а абсолютное значение m находится в диапазоне [0,5, 1) (или ноль, когда x равен нулю).
math.rad (x)Возвращает угол x (в градусах) в радианах.
math.random ([m [, n]])

 

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

 

Устанавливает x в качестве «начального числа» для псевдослучайного генератора: равные начальные числа создают равные последовательности чисел.
математика (х)Возвращает синус х (предполагается в радианах).
math.sinh (x)Возвращает гиперболический синус x.
math.sqrt (x)

 

Возвращает квадратный корень из х. (Для вычисления данного значения, можно использовать выражение x ^ 0.5)
математика (х)Возвращает тангенс 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»)

—PiValuein 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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *