Lua - Perpustakaan matematika
Kita sering membutuhkan operasi matematika dalam perhitungan ilmiah dan teknik dan kita dapat memanfaatkannya menggunakan matematika perpustakaan Lua standar. Daftar fungsi yang tersedia di pustaka matematika diperlihatkan dalam tabel berikut ini.
Sr.No. | Perpustakaan / Metode & Tujuan |
---|---|
1 | math.abs (x) Mengembalikan nilai absolut dari x. |
2 | math.acos (x) Mengembalikan busur kosinus x (dalam radian). |
3 | math.asin (x) Mengembalikan busur sinus dari x (dalam radian). |
4 | math.atan (x) Mengembalikan tangen busur dari x (dalam radian). |
5 | math.atan2 (y, x) Mengembalikan tangen busur dari y / x (dalam radian), tetapi menggunakan tanda dari kedua parameter untuk mencari kuadran hasilnya. (Ini juga menangani dengan benar kasus x menjadi nol.) |
6 | math.ceil (x) Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan x. |
7 | math.cos (x) Mengembalikan kosinus x (diasumsikan dalam radian). |
8 | math.cosh (x) Mengembalikan kosinus hiperbolik x. |
9 | math.deg (x) Mengembalikan sudut x (diberikan dalam radian) dalam derajat. |
10 | math.exp (x) Mengembalikan nilai e pangkat x. |
11 | math.floor (x) Mengembalikan bilangan bulat terbesar yang lebih kecil dari atau sama dengan x. |
12 | math.fmod (x, y) Mengembalikan sisa pembagian x dengan y yang membulatkan hasil bagi menuju nol. |
13 | math.frexp (x) Mengembalikan m dan e sehingga x = m2e, e adalah bilangan bulat dan nilai absolut m berada dalam kisaran [0,5, 1) (atau nol jika x adalah nol). |
14 | math.huge Nilai HUGE_VAL, nilai yang lebih besar dari atau sama dengan nilai numerik lainnya. |
15 | math.ldexp (m, e) Mengembalikan m2e (e harus berupa bilangan bulat). |
16 | math.log (x) Mengembalikan logaritma natural dari x. |
17 | math.log10 (x) Mengembalikan logaritma basis 10 dari x. |
18 | math.max (x, ...) Mengembalikan nilai maksimum di antara argumennya. |
19 | math.min (x, ...) Mengembalikan nilai minimum di antara argumennya. |
20 | math.modf (x) Mengembalikan dua angka, bagian integral dari x dan bagian pecahan dari x. |
21 | math.pi Nilai pi. |
22 | math.pow (x, y) Mengembalikan xy. (Anda juga dapat menggunakan ekspresi x ^ y untuk menghitung nilai ini.) |
23 | math.rad (x) Mengembalikan sudut x (diberikan dalam derajat) dalam radian. |
24 | math.random ([m [, n]]) Fungsi ini adalah antarmuka ke fungsi generator pseudo-acak sederhana rand yang disediakan oleh ANSI C. Saat dipanggil tanpa argumen, mengembalikan bilangan riil pseudo-acak seragam dalam kisaran [0,1). Saat dipanggil dengan bilangan bulat m, math.random mengembalikan bilangan bulat acak semu yang seragam dalam rentang [1, m]. Saat dipanggil dengan dua bilangan bulat m dan n, math.random mengembalikan bilangan bulat acak semu yang seragam dalam rentang [m, n]. |
25 | math.randomseed (x) Menetapkan x sebagai "benih" untuk generator acak semu: benih yang sama menghasilkan urutan angka yang sama. |
26 | math.sin (x) Mengembalikan sinus dari x (diasumsikan dalam radian). |
27 | math.sinh (x) Mengembalikan sinus hiperbolik x. |
28 | math.sqrt (x) Mengembalikan akar kuadrat dari x. (Anda juga dapat menggunakan ekspresi x ^ 0,5 untuk menghitung nilai ini.) |
29 | math.tan (x) Mengembalikan tangen x (diasumsikan dalam radian). |
30 | math.tanh (x) Mengembalikan tangen hiperbolik x. |
Fungsi trigonometri
Contoh sederhana menggunakan fungsi trigonometri ditunjukkan di bawah ini.
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")
Saat kita menjalankan program di atas, kita akan mendapatkan output sebagai berikut.
0.027415567780804
0.0
1.0
0.0
1.0
180
Fungsi matematika umum lainnya
Contoh sederhana menggunakan fungsi matematika umum ditunjukkan di bawah ini.
-- 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")
Saat kita menjalankan program di atas, kita akan mendapatkan output sebagai berikut.
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
Contoh di atas hanyalah beberapa dari contoh umum, kita dapat menggunakan pustaka matematika berdasarkan kebutuhan kita, jadi coba gunakan semua fungsi agar lebih familiar.