Lua - Matematik kütüphanesi

Bilimsel ve mühendislik hesaplamalarında sık sık matematik işlemlerine ihtiyacımız var ve bunu standart Lua kütüphanesi matematiğini kullanarak yapabiliriz. Matematik kitaplığında bulunan işlevlerin listesi aşağıdaki tabloda gösterilmektedir.

Sr.No. Kütüphane / Yöntem ve Amaç
1

math.abs (x)

X'in mutlak değerini döndürür.

2

math.acos (x)

X'in ark kosinüsünü (radyan cinsinden) verir.

3

math.asin (x)

X'in yay sinüsünü (radyan cinsinden) verir.

4

math.atan (x)

X'in yay tanjantını (radyan cinsinden) verir.

5

math.atan2 (y, x)

Y / x'in yay tanjantını (radyan cinsinden) verir, ancak sonucun çeyreğini bulmak için her iki parametrenin işaretlerini kullanır. (Ayrıca x'in sıfır olması durumunu da doğru bir şekilde ele alır.)

6

math.ceil (x)

X'e eşit veya daha büyük olan en küçük tamsayıyı döndürür.

7

math.cos (x)

X'in kosinüsünü verir (radyan cinsinden olduğu varsayılır).

8

math.cosh (x)

X'in hiperbolik kosinüsünü döndürür.

9

math.deg (x)

X açısını (radyan cinsinden verilir) derece cinsinden verir.

10

math.exp (x)

E üssü x değerini döndürür.

11

math.floor (x)

X'ten küçük veya x'e eşit en büyük tamsayıyı döndürür.

12

math.fmod (x, y)

X'in y'ye bölünmesinin kalan kısmını döndürür ve bölümü sıfıra yuvarlar.

13

math.frexp (x)

X = m2e, e bir tam sayı ve m'nin mutlak değeri [0,5, 1) aralığında (veya x sıfır olduğunda sıfır) olacak şekilde m ve e'yi döndürür.

14

math.huge

HUGE_VAL değeri, diğer herhangi bir sayısal değerden büyük veya ona eşit bir değer.

15

math.ldexp (m, e)

M2e döndürür (e bir tam sayı olmalıdır).

16

math.log (x)

X'in doğal logaritmasını döndürür.

17

math.log10 (x)

X'in 10 tabanlı logaritmasını döndürür.

18

math.max (x, ...)

Bağımsız değişkenleri arasında maksimum değeri döndürür.

19

math.min (x, ...)

Bağımsız değişkenleri arasında minimum değeri döndürür.

20

math.modf (x)

İki sayıyı döndürür: x'in tamsayı kısmı ve x'in kesirli kısmı.

21

math.pi

Pi'nin değeri.

22

math.pow (x, y)

Xy döndürür. (Bu değeri hesaplamak için x ^ y ifadesini de kullanabilirsiniz.)

23

math.rad (x)

Radyan cinsinden x açısını (derece cinsinden verilir) verir.

24

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

Bu işlev, ANSI C tarafından sağlanan basit sözde rasgele üretici işlevi rand arabirimidir. Bağımsız değişkenler olmadan çağrıldığında, [0,1) aralığında tek tip sözde rasgele gerçek sayı döndürür. Math.random, m tamsayısıyla çağrıldığında, [1, m] aralığında tek tip bir sözde rastgele tamsayı döndürür. İki tam sayı m ve n ile çağrıldığında, math.random [m, n] aralığında tekdüze bir sözde rastgele tamsayı döndürür.

25

math.randomseed (x)

X'i sözde rasgele oluşturucu için "çekirdek" olarak ayarlar: eşit tohumlar eşit sayı dizileri üretir.

26

math.sin (x)

X'in sinüsünü verir (radyan cinsinden olduğu varsayılır).

27

math.sinh (x)

X'in hiperbolik sinüsünü döndürür.

28

math.sqrt (x)

X'in karekökünü verir. (Bu değeri hesaplamak için x ^ 0.5 ifadesini de kullanabilirsiniz.)

29

math.tan (x)

X'in tanjantını verir (radyan cinsinden olduğu varsayılır).

30

math.tanh (x)

X'in hiperbolik tanjantını döndürür.

Trigonometrik fonksiyonlar

Trigonometrik fonksiyonun kullanıldığı basit bir örnek aşağıda gösterilmiştir.

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

Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alacağız.

0.027415567780804
0.0 
1.0 
0.0 
1.0 
180

Diğer yaygın matematik fonksiyonları

Yaygın matematik işlevlerini kullanan basit bir örnek aşağıda gösterilmiştir.

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

Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alacağız.

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

Yukarıdaki örnekler yaygın örneklerden sadece birkaçıdır, ihtiyacımıza göre matematik kitaplığını kullanabiliriz, bu nedenle daha aşina olmak için tüm işlevleri kullanmayı deneyin.