【Python入門】ベータ関数|beta()関数をグラフ化する

ベータ関数|beta()関数をグラフ化する_アイキャッチ プログラミング

※ 当サイトはアフィリエイト広告を利用しています。

levtech-ad
スポンサーリンク

特殊関数の一つとして知られる「ベータ関数」は、Pythonでグラフ化することができます。

本記事では、そんなPython基礎となるベータ関数について、詳しくご説明します。

こんな人に読んでほしい
  • Python初心者の人
  • Pythonによるベータ関数のグラフ化方法について学びたい人
levtech-ad

ベータ関数

ベータ関数(beta function)とは、実部が正となる複素数\(x,y\)に対して、下式で定義される特殊関数です。

\(B\left( x,y\right) =\int _{0}^{1}t^{x-1}\left( 1-t\right) ^{y-1}dt\)

ベータ関数は次のような対称性を持ちます。

\(B\left( x,y\right) =B\left( y,x\right) \)

Pythonを使用したベータ関数の出力方法をご紹介します。

scipy.special.beta()

SciPyのscipy.special.beta()関数を使用すると、指定した引数(複素数)のベータ関数を出力することができます。

#input
from scipy.special import beta

x1 = beta(2,4)
x2 = beta(4,2)

print("beta(1+j,1-j)=",x1)
print("beta(1-j,1+j)=",x2)
#output
beta(1+j,1-j)= 0.05
beta(1-j,1+j)= 0.05

上記関数を使用して、ベータ関数をグラフ化してみます。

#input
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import beta

fig = plt.figure(figsize = (6,6))

A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("beta function", fontsize = 16)
A.set_xlabel("x", fontsize = 14)
A.set_ylabel("B(x,y)", fontsize = 14)
A.set_xlim(0,2)
A.set_ylim(0,2)

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

for i in range(1,11):
    A.plot(x,beta(x,i),label="y={}".format(i))

A.legend()
plt.show()
ベータ関数

特殊値

複素数\(x\)に対して、ベータ関数では以下が成り立ちます。

  • \(B\left( 1,x\right) =\dfrac{1}{x}\)
  • \(B\left( x,1-x\right) =\dfrac{\pi }{\sin \left( \pi x\right) }\)
  • \(B\left( \dfrac{1}{2},x\right) =\dfrac{2^{2x-1}\left\{ \Gamma \left( x\right) \right\} ^{2}}{\Gamma \left( 2x\right) }\)

それぞれグラフ化してみます。

#input
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import beta

fig = plt.figure(figsize = (6,6))

A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("B(1,x)", fontsize = 16)
A.set_xlabel("x", fontsize = 14)
A.set_ylabel("B(1,x)", fontsize = 14)
A.set_xlim(0,10)
A.set_ylim(0,10)

x = np.linspace(0,10,129)
A.plot(x,beta(1,x),color="deeppink")

plt.show()
ベータ関数 B(1,x)
#input
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import beta

fig = plt.figure(figsize = (6,6))

A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("B(x,1-x)", fontsize = 16)
A.set_xlabel("x", fontsize = 14)
A.set_ylabel("B(x,1-x)", fontsize = 14)
A.set_xlim(0,10)
A.set_ylim(-10,10)

x = np.linspace(0,10,129)
A.plot(x,beta(x,1-x),color="deeppink")

plt.show()
ベータ関数 B(x,1-x)
#input
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import beta

fig = plt.figure(figsize = (6,6))

A = fig.add_subplot(111)
A.grid(color="k",linestyle="dotted")
A.set_title("B(0.5,x)", fontsize = 16)
A.set_xlabel("x", fontsize = 14)
A.set_ylabel("B(0.5,x)", fontsize = 14)
A.set_xlim(0,10)
A.set_ylim(0,10)

x = np.linspace(0,10,129)
A.plot(x,beta(0.5,x),color="deeppink")

plt.show()
ベータ関数 B(0.5,x)

まとめ

この記事では、Python基礎となるベータ関数について、ご説明しました。

本記事を参考に、ぜひ試してみて下さい。

参考

Python学習用おすすめ教材

Pythonの基本を学びたい方向け

統計学基礎を学びたい方向け

Pythonの統計解析を学びたい方向け

おすすめプログラミングスクール

Pythonをはじめ、プログラミングを学ぶなら、TechAcademy(テックアカデミー)がおすすめです。

私も入っていますが、好きな時間に気軽にオンラインで学べますので、何より楽しいです。

現役エンジニアからマンツーマンで学べるので、一人では中々続かない人にも、向いていると思います。

無料体験ができますので、まずは試してみてください!

\まずは無料体験!/
スポンサーリンク
タイトルとURLをコピーしました