Bài 26 : Lua – Thư viện toán học
Bài 26 : Lua – Thư viện toán học
Lua – Thư viện toán học Trang trướcTrang tiếp theo Chúng ta thường cần các phép toán trong tính toán […]
Lua – Thư viện toán học
Chúng ta thường cần các phép toán trong tính toán khoa học và kỹ thuật và chúng ta có thể tận dụng điều này bằng cách sử dụng toán học thư viện Lua tiêu chuẩn. Danh sách các hàm có sẵn trong thư viện toán học được hiển thị trong bảng sau.
| Sr.No. | Thư viện / Phương pháp & Mục đích |
|---|---|
| 1 | math.abs (x)Trả về giá trị tuyệt đối của x. |
| 2 | math.acos (x)Trả về cosin cung của x (tính bằng radian). |
| 3 | math.asin (x)Trả về sin cung của x (tính bằng radian). |
| 4 | math.atan (x)Trả về tiếp tuyến cung của x (tính bằng radian). |
| 5 | math.atan2 (y, x)Trả về tiếp tuyến cung của y / x (tính bằng radian), nhưng sử dụng dấu hiệu của cả hai tham số để tìm góc phần tư của kết quả. (Nó cũng xử lý chính xác trường hợp x bằng không.) |
| 6 | math.ceil (x)Trả về số nguyên nhỏ nhất lớn hơn hoặc bằng x. |
| 7 | toán học.cos (x)Trả về cosine của x (giả sử là radian). |
| số 8 | math.cosh (x)Trả về cosin hyperbol của x. |
| 9 | math.deg (x)Trả về góc x (tính bằng radian) theo độ. |
| 10 | math.exp (x)Trả về giá trị e lũy thừa x. |
| 11 | math.floor (x)Trả về số nguyên lớn nhất nhỏ hơn hoặc bằng x. |
| 12 | math.fmod (x, y)Trả về phần còn lại của phép chia x cho y làm tròn thương số về 0. |
| 13 | math.frexp (x)Trả về m và e sao cho x = m2e, e là số nguyên và giá trị tuyệt đối của m nằm trong khoảng [0,5, 1) (hoặc 0 khi x bằng 0). |
| 14 | math.hugeGiá trị HUGE_VAL, một giá trị lớn hơn hoặc bằng bất kỳ giá trị số nào khác. |
| 15 | math.ldexp (m, e)Trả về m2e (e phải là một số nguyên). |
| 16 | math.log (x)Trả về lôgarit tự nhiên của x. |
| 17 | math.log10 (x)Trả về logarit cơ số 10 của x. |
| 18 | math.max (x, …)Trả về giá trị lớn nhất trong số các đối số của nó. |
| 19 | math.min (x, …)Trả về giá trị nhỏ nhất trong số các đối số của nó. |
| 20 | math.modf (x)Trả về hai số, phần nguyên của x và phần thập phân của x. |
| 21 | math.piGiá trị của số pi. |
| 22 | math.pow (x, y)Trả về xy. (Bạn cũng có thể sử dụng biểu thức x ^ y để tính giá trị này.) |
| 23 | math.rad (x)Trả về góc x (tính bằng độ) tính bằng radian. |
| 24 | math.random ([m [, n]])Hàm này là một giao diện với hàm tạo ngẫu nhiên giả đơn giản do ANSI C. cung cấp. Khi được gọi mà không có đối số, trả về một số thực giả ngẫu nhiên thống nhất trong phạm vi [0,1). Khi được gọi với một số nguyên m, math.random trả về một số nguyên giả ngẫu nhiên thống nhất trong phạm vi [1, m]. Khi được gọi với hai số nguyên m và n, math.random trả về một số nguyên giả ngẫu nhiên thống nhất trong phạm vi [m, n]. |
| 25 | math.randomseed (x)Đặt x làm “hạt giống” cho trình tạo giả ngẫu nhiên: các hạt giống nhau tạo ra các chuỗi số bằng nhau. |
| 26 | math.sin (x)Trả về sin của x (giả sử là radian). |
| 27 | math.sinh (x)Trả về sin hyperbol của x. |
| 28 | math.sqrt (x)Trả về căn bậc hai của x. (Bạn cũng có thể sử dụng biểu thức x ^ 0,5 để tính giá trị này.) |
| 29 | toán.tan (x)Trả về tang của x (giả sử là radian). |
| 30 | math.tanh (x)Trả về tiếp tuyến hypebol của x. |
Hàm lượng giác
Dưới đây là một ví dụ đơn giản sử dụng hàm lượng giác.Bản thử trực tiếp
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") Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
0.027415567780804 0.0 1.0 0.0 1.0 180
Các hàm toán học thông thường khác
Dưới đây là một ví dụ đơn giản sử dụng các hàm toán học phổ biến.Bản thử trực tiếp
-- 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") Khi chúng ta chạy chương trình trên, chúng ta sẽ nhận được kết quả sau.
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
Các ví dụ trên chỉ là một số ví dụ phổ biến, chúng ta có thể sử dụng thư viện toán học dựa trên nhu cầu của mình, vì vậy hãy thử sử dụng tất cả các hàm để quen thuộc hơn.
Lượt xem : 221