貝塞爾函數的數學表達形式!
1、matlab 中,貝塞爾函數的表達形式
他山之石——參考連結
2、python中,貝塞爾函數的表達形式
他山之石——參考連結
在python中的兩種貝塞爾函數的表達形式!
(1) scipy.special.jn
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2YfNWawNyZuBnLxMGZ1UTYjRTO0M2N2UWYiZ2M3QTN5QDZlJTY2UzY5czLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
基本用法
from scipy import special as sp
# sp.jn(v,z)
# sp.jv(v,z)
# 發現兩種用法的結果是一樣的!
'''
parameters:
v: orders (datatype: float)
z: argument (datetype: float or complex)
return:
J: value of the Bessel function $J_{v}(z)$
'''
數學表達式:
J v ( z ) = exp ( v π r / 2 ) I v ( − ı z ) ( J z > 0 ) J v ( z ) = exp ( − v π ı / 2 ) I v ( ı z ) ( J z < 0 ) \begin{aligned} J_{v}(z)=\exp (v \pi r / 2) I_{v}(-\imath z) & &(\mathrm{J} z>0) \\ J_{v}(z)=\exp (-v \pi \imath / 2) I_{v}(\imath z) & &(\mathfrak{J} z<0) \end{aligned} Jv(z)=exp(vπr/2)Iv(−ız)Jv(z)=exp(−vπı/2)Iv(ız)(Jz>0)(Jz<0)
J − v ( z ) = J v ( z ) cos ( π v ) − Y v ( z ) sin ( π v ) J_{-v}(z)=J_{v}(z) \cos (\pi v)-Y_{v}(z) \sin (\pi v) J−v(z)=Jv(z)cos(πv)−Yv(z)sin(πv)
其中, I v I_{v} Iv 為修正貝塞爾函數; Y v ( z ) Y_{v}(z) Yv(z)為第二類貝塞爾函數!
(2) scipy.special.spherical_jn
數學表達式:
j n ( z ) = π 2 z J n + 1 / 2 ( z ) j_{n}(z)=\sqrt{\frac{\pi}{2 z}} J_{n+1 / 2}(z) jn(z)=2zπ
Jn+1/2(z)
其中, J n J_{n} Jn是第一類貝塞爾函數。
rerf0
reff1
reff2
from scipy import special as sp
# sp.spherical_jn(v,z)
'''
parameters:
v: orders (datatype: float)
z: argument (datetype: float or complex)
return:
J: value of the Bessel function $J_{v}(z)$
'''
通過對比上述結果發現,(1)和(2)之間相差的是公式 j n ( z ) = π 2 z J n + 1 / 2 ( z ) j_{n}(z)=\sqrt{\frac{\pi}{2 z}} J_{n+1 / 2}(z) jn(z)=2zπ
Jn+1/2(z)。 也就是說,方式(1)中的貝塞爾函數是Jz(v, z);方式(2)中的 球 \color{red}{球} 球貝塞爾函數,數學上乘以 π 2 z \sqrt{\frac{\pi}{2 z}} 2zπ
,将變量 v v v修改為 v + 1 / 2 v+1/2 v+1/2,即得到與球貝塞爾函數scipy.special.spherical_jn(v,z)一樣的結果!