当前位置:主页 > 关注 >

Scipy.special特殊数学函数模块之bessel函数

发布时间: 2023-01-22 19:46:07 来源:哔哩哔哩

一、Scipy.special模块作用

二、bessel(贝塞尔函数)

三、special模块所有bessel函数


【资料图】

四、例子

一、Scipy.special模块作用:scipy.special包的主要特点是定义了数学物理的许多特殊函数。可用的函数包括airy(艾里函数), elliptic(椭圆函数), bessel(贝塞尔函数), gamma(欧拉第二积分), beta(贝塔函数), hypergeometric(超几何函数), parabolic cylinder(抛物柱面函数), mathieu(马蒂厄函数), spheroidal wave(球体波函数), struve(斯特鲁夫函数), and kelvin(开尔文函数)。还有一些低级别的统计数据函数,这些函数不是一般使用的,因为“统计数据”那个模块提供了这些函数的更简单的接口。这些函数中的大多数可以采用数组参数,并按照与Numerical Python中的其他数学函数相同的广播规则返回数组结果。其中许多函数也接受复数作为输入。

要获得具有单行描述的可用函数的完整列表,请键入>>help(special)。每个函数也有自己的文档,可以使用帮助进行访问。

二、bessel(贝塞尔函数)

贝塞尔函数是具有实阶或复阶α的贝塞尔微分方程的一系列解。

一般贝塞尔函数是下列常微分方程(一般称为贝塞尔方程)的标准解函数y(x):

贝塞尔函数定义链接:

https://www.britannica.com/science/special-function

https://baike.baidu.com/item/%E8%B4%9D%E5%A1%9E%E5%B0%94%E5%87%BD%E6%95%B0/3431101?fr=aladdin

三、special模块所有bessel函数:

四、例子:薄鼓头的振动模式。以下是固定在边缘的圆形鼓头的示例:

from scipy import special

import numpy as np

def drumhead_height(n, k, distance, angle, t):  

kth_zero = special.jn_zeros(n, k)[-1]

return np.cos(t) * np.cos(n*angle) * special.jn(n, distance*kth_zero)

theta = np.r_[0:2*np.pi:50j]

radius = np.r_[0:1:50j]

x = np.array([r * np.cos(theta) for r in radius])

y = np.array([r * np.sin(theta) for r in radius])

z = np.array([drumhead_height(1, 1, r, theta, 0.5) for r in radius])

import matplotlib.pyplot as plt

fig = plt.figure() 

ax = fig.add_axes(rect=(0, 0.05, 0.95, 0.95), projection='3d')

ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap='RdBu_r', vmin=-0.5, vmax=0.5)

ax.set_xlabel('X')

ax.set_ylabel('Y')

ax.set_xticks(np.arange(-1, 1.1, 0.5))

ax.set_yticks(np.arange(-1, 1.1, 0.5))

ax.set_zlabel('Z')

plt.show()

结果输出:

标签: ANGLE 微分方程 ALADDIN 特殊函数 VMIN HELP HTTPS BETA

为您推荐

  • 最新资讯
  • 热门资讯