Lua-수학 라이브러리

우리는 종종 과학 및 공학 계산에서 수학 연산이 필요하며 표준 Lua 라이브러리 수학을 사용하여이를 활용할 수 있습니다. 수학 라이브러리에서 사용할 수있는 함수 목록은 다음 표에 나와 있습니다.

Sr. 아니. 도서관 / 방법 및 목적
1

math.abs (x)

x의 절대 값을 반환합니다.

2

math.acos (x)

x의 아크 코사인 (라디안)을 반환합니다.

math.asin (x)

x의 아크 사인 (라디안)을 반환합니다.

4

math.atan (x)

x의 아크 탄젠트 (라디안)를 반환합니다.

5

math.atan2 (y, x)

y / x의 아크 탄젠트 (라디안)를 반환하지만 두 매개 변수의 부호를 사용하여 결과의 ​​사분면을 찾습니다. (또한 x가 0 인 경우를 올바르게 처리합니다.)

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 제곱 x 값을 반환합니다.

11

math.floor (x)

x보다 작거나 같은 가장 큰 정수를 반환합니다.

12

math.fmod (x, y)

몫을 0으로 반올림하는 x를 y로 나눈 나머지를 반환합니다.

13

math.frexp (x)

x = m2e, e는 정수, m의 절대 값이 범위 [0.5, 1) (또는 x가 0 인 경우 0)에있는 m과 e를 반환합니다.

14

math.huge

다른 숫자 값보다 크거나 같은 값인 HUGE_VAL 값입니다.

15

math.ldexp (m, e)

m2e를 반환합니다 (e는 정수 여야 함).

16

math.log (x)

x의 자연 로그를 반환합니다.

17

math.log10 (x)

x의 밑이 10 인 로그를 반환합니다.

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

이 함수는 ANSI C에서 제공하는 간단한 의사 난수 생성기 함수 rand에 대한 인터페이스입니다. 인수없이 호출되면 [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

위의 예제는 일반적인 예제 중 일부일 뿐이며 필요에 따라 수학 라이브러리를 사용할 수 있으므로 모든 함수를 더 익숙하게 사용해보십시오.