日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python怎么用gamma函数_如何通俗的理解伽马(gamma)函数

發布時間:2024/7/23 python 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python怎么用gamma函数_如何通俗的理解伽马(gamma)函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如何通俗的理解伽馬(gamma)函數 - 直覺,求導和示例

我為什么要在乎garmma分布?

使用伽馬函數定義了許多概率分布,例如伽馬分布,Beta分布,狄利克雷分布,卡方分布和學生t分布等。 對于數據科學家,機器學習工程師,研究人員來說,伽馬函數可能是一種最廣泛使用的功能,因為它已在許多分布中使用。然后將這些分布用于貝葉斯推理,隨機過程(例如排隊模型),生成統計模型(例如潛在狄利克雷分配)和變分推理。因此,如果您很好地了解了Garmma功能,您將對其中出現的許多應用程序有更好的了解!

1.為什么需要伽瑪功能?因為我們要泛化階乘!

階乘函數僅針對離散點(對于正整數-上圖中的黑點)定義,但是我們希望連接黑點。我們想將階乘函數擴展到所有復數。階乘的簡單公式x!= 1 * 2 … x,不能直接用于小數值,因為它僅在x是整數時才有效。 因此,數學家一直在尋找...“什么樣的function將這些點平滑地連接起來,并為我們提供所有實際值的階乘?”

但是,他們找不到可以表示x的和,乘積,冪,指數或對數的* 有限*組合!直到…的實數.

2.歐拉發現了伽瑪函數。(在18世紀)

上面的公式用于找到z的任何實數值的Gamma函數的值。 假設您要計算Γ(4.8)。您將如何解決上述整合? 可以手動計算Γ(4.8)嗎?也許使用零件積分?

試試看,讓我知道您是否找到有趣的方式!對于我(以及到目前為止的許多其他人)而言,沒有快速簡便的方法手動評估分數的Gamma函數。(如果您有興趣用手解決它,這是一個很好的起點。) 好吧,那么就不用分析了。您能否實現從0到無窮大的積分-以編程方式添加術語“無限次”?

您可以通過幾種方法來實現。最常用的兩種實現是斯特林近似 和Lanczos近似。[For implementation addicts:] For implementation addicts: the codes of Gamma function (mostly Lanczos approximation) in 60+ different language - C, C++, C#, python, java, etc.

讓我們計算Γ(4.8)使用計算機在已經實現的。

我們得到了17.837。 正如我們所期望的,17.837介于3!(=Γ(4)= 6)和4!(=Γ(5)= 24)之間。 (當z是自然數時,Γ(z)=(z-1)!我們將很快證明這一點。) 與只需要正整數的階乘不同,我們可以將任何實數/復數輸入z,包括負數。Gamma函數連接黑點,并很好地繪制曲線。Confusion-buster: 我們正在積分從0到無窮大的x(NOT z)。 ? x是正在集成的輔助變量。 ? 我們沒有將4.8插入x。我們將4.8插入z。

3. Gamma函數如何對階乘函數進行插值?

如果看一下Gamma函數,您會注意到兩件事。 首先,相對于z,它絕對是一個遞增函數。 其次,當z是自然數時,Γ(z + 1)= z! (我保證我們會盡快證明這一點!) 因此,我們可以期望Gamma函數連接階乘。

Gamma函數如何以當前項x ^ z和e ^ -x結束? 我不確切知道歐拉的思維過程是什么,但是他是發現自然數e的那個人,因此他必須做很多實驗,將e與其他函數相乘才能找到當前形式。

4. Gamma函數的圖形是什么樣的?

當x變為無窮大∞時,第一項(x ^ z)也變為無窮大∞,但是第二項(e ^ -x)變為零。然后,伽瑪函數會收斂到有限值嗎?

我們可以使用L'H?pital規則嚴格證明它收斂。但是我們也可以毫不費力地看到它的融合。如果您考慮一下,我們正在積分x ^ z(一個多項式遞增函數) 和e ^ -x(一個 指數遞減函數)的乘積。因為e ^ -x的值 下降快于x ^ z的值,所以Gamma函數很可能收斂并具有有限的值。 讓我們繪制每個圖形,因為眼見為實。

x ^ z * e ^ -x的圖 讓我們看一下Γ(4.8)的情況。

圖下綠色陰影區域從0到無窮大,Γ(4.8)= 3.8! Python代碼用于生成上面的漂亮圖。自己繪制,看看z如何改變Gamma函數的形狀!

########################

# f(x) = exp(-x) graph #

########################

import matplotlib.pyplot as plt

import numpy as np

# Create x and y

x = np.linspace(-2, 20, 100)

y = np.exp(-x)

# Create the plot

fig, ax = plt.subplots()

plt.plot(x, y, label='f(x) = exp(-x)', linewidth=3, color='palegreen')

# Make the x=0, y=0 thicker

ax.set_aspect('equal')

ax.grid(True, which='both')

ax.axhline(y=0, color='k')

ax.axvline(x=0, color='k')

# Add a title

plt.title('f(x) = exp(-x)', fontsize=20)

# Add X and y Label

plt.xlabel('x', fontsize=16)

plt.ylabel('f(x)', fontsize=16)

# Add a grid

plt.grid(alpha=.4, linestyle='--')

# Show the plot

plt.show()

####################

# f(x) = x^z graph #

####################

import matplotlib.pyplot as plt

import numpy as np

# Create x and y

x = np.linspace(0, 2, 100)

y1 = x**1.3

y2 = x**2.5

y3 = x**3.8

# Create the plot

fig, ax = plt.subplots()

plt.plot(x, y1, label='f(x) = x^1.3', linewidth=3, color='palegreen')

plt.plot(x, y2, label='f(x) = x^2.5', linewidth=3, color='yellowgreen')

plt.plot(x, y3, label='f(x) = x^3.8', linewidth=3, color='olivedrab')

# Make the x=0, y=0 thicker

ax.set_aspect('equal')

ax.grid(True, which='both')

ax.axhline(y=0, color='k')

ax.axvline(x=0, color='k')

# Add a title

plt.title('f(x) = x^z', fontsize=20)

# Add X and y Label

plt.xlabel('x', fontsize=16)

plt.ylabel('f(x)', fontsize=16)

# Add a grid

plt.grid(alpha=.4, linestyle='--')

# Add a Legend

plt.legend(bbox_to_anchor=(1, 1), loc='best', borderaxespad=1, fontsize=12)

# Show the plot

plt.show()

###############################

# f(x) = x^(3.8)*e^(-x) graph #

###############################

import matplotlib.pyplot as plt

import numpy as np

# Create x and y

x = np.linspace(0, 20, 100)

y = x**3.8 * np.exp(-x)

# Create the plot

fig, ax = plt.subplots()

plt.plot(x, y, label='f(x) = x^(3.8) * np.exp(-x)', linewidth=3, color='palegreen')

ax.fill_between(x, 0, y, color='yellowgreen')

# Make the x=0, y=0 thicker

ax.set_aspect('equal')

ax.grid(True, which='both')

ax.axhline(y=0, color='k')

ax.axvline(x=0, color='k')

# Add a title

plt.title('f(x) = x^(3.8)*e^(-x) ', fontsize=20)

# Add X and y Label

plt.xlabel('x', fontsize=16)

plt.ylabel('f(x)' ,fontsize=16)

# Add a grid

plt.grid(alpha=.4, linestyle='--')

# Add a Legend

plt.legend(bbox_to_anchor=(1, 1), loc='upper right', borderaxespad=1, fontsize=12)

# Show the plot

plt.show()

5.伽瑪函數屬性

如果您從這篇文章中刪除一件事,應該是本節。

> 給定z> 1 Γ(z)=(z-1)*Γ(z-1) 或將其寫為 Γ(z + 1)= z *Γ(z)

讓我們使用部分集成和Gamma函數的定義來證明它.

如果n是一個正整數 C(n)=(n-1)!

什么是Γ(1) ?

因此,Γ(n)=(n-1)!

您可能還已經看到表達式Γ(n + 1)= n!而不是 Γ(n)=(n-1)!。 這只是使右手邊n!,而不是(n-1)! 我們所做的就是將n移1。

6.使用Gamma函數的屬性,顯示Gamma分布的PDF積分為1。

快速回顧一下Gamma“分布”(不是Gamma“函數”!):Gamma分布直覺和推導。 證明如下:

問答:伽瑪功能多大了? 很老。大約300年。(您是否正在研究將在300年后使用的東西?;) 有趣的旁注:歐拉(Euler)在64歲時失明,但是在失明后他完成了近一半作品。

一些有趣的價值觀: C(1/2)=平方( ) 許多有趣的方式來表明這一點: Γ(1/2) = sqrt( ) Γ(-1) = Γ(-2) = Γ(-3) = infinity 你能證明這些嗎? 3.這是快速查看Gamma函數圖的實數。

伽馬函數Γ(z)用藍色繪制,而Γ(z)+ sin(πz)用綠色繪制。(請注意正整數處的交點,因為sin(πz)為零!)兩者都是對非整數的階乘分解的有效解析延續。

總結

以上是生活随笔為你收集整理的python怎么用gamma函数_如何通俗的理解伽马(gamma)函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。