Program Python untuk mengira gamma logaritma bagi nombor tertentu

WBOY
Lepaskan: 2023-09-04 22:05:05
ke hadapan
921 orang telah melayarinya

Program Python untuk mengira gamma logaritma bagi nombor tertentu

Dalam matematik, fungsi gamma dianggap sebagai pengembangan faktorial bagi sebarang nombor tertentu. Walau bagaimanapun, oleh kerana faktorial ditakrifkan hanya untuk nombor nyata, fungsi gamma berada di luar skop menentukan faktorial untuk semua nombor kompleks kecuali integer negatif. Ia diwakili oleh -

Γ(x) = (x-1)!
Salin selepas log masuk

Fungsi gamma logaritma timbul kerana fungsi gamma hanya berkembang dengan cepat pada bilangan yang lebih besar, jadi penggunaan logaritma kepada gamma akan melambatkannya dengan banyak. Ia juga dikenali sebagai gamma logaritma semula jadi bagi nombor tertentu.

log(Γ(x)) = log((x-1)!)
Salin selepas log masuk

Dalam bahasa pengaturcaraan Python, seperti bahasa pengaturcaraan lain, fungsi log-gamma dikira menggunakan fungsi math.lgamma(). Walau bagaimanapun, kami juga akan melihat beberapa cara lain untuk mengira log gamma nombor dalam artikel ini.

Senario input dan output

Mari kita lihat beberapa senario input-output untuk mencari fungsi log-gamma menggunakan kaedah math.lgamma().

Anggap bahawa input kepada fungsi log gamma ialah integer positif -

Input: 12
Result: 17.502307845873887
Salin selepas log masuk

Anggap bahawa input kepada fungsi log gamma ialah integer negatif -

Input: -12
Result: “ValueError: math domain error”
Salin selepas log masuk

Anggap bahawa input kepada fungsi log gamma adalah sifar -

Input: 0
Result: “ValueError: math domain error”
Salin selepas log masuk

Anggap bahawa input kepada fungsi log gamma ialah nilai perpuluhan negatif yang hampir dengan sifar -

Input: -0.2
Result: 1.761497590833938
Salin selepas log masuk

Anda mendapat ralat domain apabila menggunakan kaedah lgamma() kerana fungsi ditakrifkan untuk semua nombor kompleks tolak negatif "integer". Mari lihat pelbagai cara untuk mencari gamma log bagi nombor yang diberikan.

Gunakan fungsi math.lgamma()

Kaedah

lgamma() ditakrifkan dalam pustaka matematik dan mengembalikan nilai gamma logaritma asli bagi nombor tertentu. Sintaks kaedah ini ialah -

math.lgamma(x)
Salin selepas log masuk

di mana x ialah sebarang nombor kompleks kecuali integer negatif.

Contoh

Contoh Python menggunakan fungsi math.lgamma() untuk mencari log gamma adalah seperti berikut -

# import math library
import math

#log gamma of positive integer
x1 = 10
print(math.lgamma(x1))

#log gamma of negative complex number
x2 = -1.2
print(math.lgamma(x2))

#log gamma of a positive complex number
x3 = 3.4
print(math.lgamma(x3))
Salin selepas log masuk

Output

Keluaran kod python di atas ialah -

12.801827480081467
1.5791760340399836
1.0923280598027416
Salin selepas log masuk

Gunakan fungsi math.gamma() dan math.log()

Dalam pendekatan lain, gamma logaritma sesuatu nombor boleh didapati dengan mencari gamma nombor itu menggunakan fungsi math.gamma(), dan kemudian menggunakan untuk menggunakan logaritma pada nilai gamma. b>math.log() fungsi. Di sini, kita hanya memecahkan fungsi lgamma() kepada beberapa langkah.

Contoh

Pelaksanaan python bagi proses di atas adalah seperti berikut -

# import math library
import math

#log gamma of positive integer
x1 = math.gamma(10)
print(math.log(x1))

#log gamma of negative complex number
x2 = math.gamma(-1.2)
print(math.log(x2))

#log gamma of a positive complex number
x3 = math.gamma(3.4)
print(math.log(x3))
Salin selepas log masuk

Output

Output yang diperolehi adalah seperti berikut -

12.801827480081469
1.5791760340399839
1.0923280598027414
Salin selepas log masuk

Dengan menggunakan logaritma kepada faktorial nombor

Cara yang lebih mudah ialah mencari pemfaktoran bagi nombor tertentu, kerana fungsi gamma ditakrifkan sebagai pemfaktoran bagi nombor kompleks, dan mengira pemfaktoran dengan menggunakan logaritma padanya menggunakan kaedah math.log().

Contoh

Dalam contoh Python ini, kita dapati gamma logaritma nombor menggunakan kaedah faktorial dan math.log(). Satu-satunya kelemahan menggunakan kaedah ini ialah ia hanya berfungsi dengan integer positif.

# import math library
import math

def factorial(n):
   if n == 1:
      return 1
   else:
      return n*factorial(n-1)
	
#log gamma of positive integer
x1 = 10
y1 = factorial(x1-1)
print(math.log(y1))

x2 = 3
y2 = factorial(x2-1)
print(math.log(y2))

#log gamma of a positive complex number
x3 = 3.4
y3 = factorial(x3-1)
print(math.log(y3))
Salin selepas log masuk

Output

Keluaran ialah -

12.801827480081469
0.6931471805599453
RecursionError: maximum recursion depth exceeded in comparison
Salin selepas log masuk

Atas ialah kandungan terperinci Program Python untuk mengira gamma logaritma bagi nombor tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan