1、数学物理建模与计算机辅助设计,专题3:特殊函数的可视化,Page 2,本专题主要内容与参考资料,主要内容 MATLAB涉及的特殊函数 函数(Gamma函数) 勒让德(Legendre)函数 球函数 贝塞尔函数 参考资料 杨华军, 数学物理方法, 电子工业出版社 彭芳麟, 数学物理方程的MATLAB解法与可视化, 清华大学出版社,Page 3,MATLAB涉及的特殊函数,查看方法-MATLAB中特殊函数的调用 在命令窗口输入 help matlabspecfun,airy - Airy functions. 爱里函数besselj - 1st kind Bessel function. 第一类贝
2、塞尔函数bessely - 2nd kind Bessel function . 第二类贝塞尔函数(诺伊曼函数)besselh - 3rd kind Bessel functions . 第三类贝塞尔函数(汉开尔函数)besseli - 1st kind modified Bessel function. 第一类虚宗量贝塞尔函数besselk - 2nd kind Modified Bessel function . 第二类虚宗量贝塞尔函数beta - Beta function. Beta函数betainc - Incomplete beta function. 不完全的Beta函数 bet
3、aln - Logarithm of beta function. Beta函数的对数ellipj - Jacobi elliptic functions. 雅可比椭圆函数ellipke - Complete elliptic integral. 完全的椭圆积分,Page 4,MATLAB涉及的特殊函数,erf - Error function. 误差函数erfc - Complementary error function. 余误差函数erfcx - Scaled complementary error function. 标度的余误差函数erfinv - Inverse error fun
4、ction. 逆误差函数expint - Exponential integral function. 指数积分函数gamma - Gamma function. 函数gammainc - Incomplete gamma function. 不完全的函数gammaln - Logarithm of gamma function. 函数的对数psi - Psi (polygamma) function. 双(多值)函数legendre - Associated Legendre function. 连带勒让德函数,Page 5,函数(Gamma函数),函数的定义 函数的性质:,(3)(z)在整
5、个复平面上除去z=0,z=-1,z=-2,之外处处解析。,(1),(2),(4)(z)在全平面内无零点,即 。,Page 6,函数(Gamma函数),函数的图形的绘制x=-3:0.01:3;y=gamma(x);plot(x,y,linewidth,4);grid onaxis (-3 3 -5 5),(x)的奇点分布: z=0,z=-1,x=-2,Page 7,函数(Gamma函数),如何绘制复变量(z)函数图形?,z=5*cplxgrid(30); f=mfun(gamma,z); cplxmap(z,f); view(60, 30) axis(-5 5 -5 5 -10 10),%mfu
6、n是数学软件MAPLE中的函数, 是对经典的特殊函数求值,勒让德(Legendre)函数,问题来由:,球域内Laplace方程的边值问题:,分解为两个常微分方程:,(1),(2),球函数方程,方程(2) 进一步分离变量将得到关于的本征值方程(3)和关于的连带勒让德方程(4):,变 量 分 离,R(r):,满足泛定方程、周期边界条件和球内约束条件的变量分离的解:,:,:, (cos-1x)=y(x) :即: x=cos,l阶连带勒让德方程,连带勒让德多项式,勒让德(Legendre)函数,Page 12,勒让德(Legendre)函数,勒让德(Legendre)函数:,连带勒让德(Legendr
7、e)函数:,Page 13,勒让德(Legendre)函数,求勒让德(Legendre)函数的Matlab函数 legendre(N,x) 求所有N阶连带勒让德函数的值,legendre(2,0.0:0.1:0.2) ans = -0.5000 -0.4850 -0.44000 -0.2985 -0.58793.0000 2.9700 2.8800,Page 14,勒让德(Legendre)函数,绘制前6个勒让德(Legendre)函数的图形,%P20_1.m x=0:0.01:1; y1=legendre(1,x); y2=legendre(2,x); y3=legendre(3,x); y
8、4=legendre(4,x); y5=legendre(5,x); y6=legendre(6,x); plot(x,y1(1,:), x,y2(1,:), x,y3(1,:), x,y4(1,:), x,y5(1,:), x,y6(1,:); legend(P_10,P_20,P_30,P_40,P_50,P_60); title(勒让德多项式),(m=0,l=1,2,6),Page 15,勒让德(Legendre)函数,前6个勒让德(Legendre)函数的图形,Page 16,勒让德(Legendre)函数,绘制以俯仰角为变量的勒让德函数,%P22_1.m t=0:0.1:2*pi;
9、rho1=legendre(1,cos(t); rho2=legendre(2,cos(t); rho3=legendre(3,cos(t);subplot(3,4,1); polar(t,rho1(1,:); subplot(3,4,2); polar(t,rho1(2,:);subplot(3,4,5); polar(t,rho2(1,:); subplot(3,4,6); polar(t,rho2(2,:); subplot(3,4,7); polar(t,rho2(3,:);subplot(3,4,9); polar(t,rho3(1,:); subplot(3,4,10); pola
10、r(t,rho3(2,:); subplot(3,4,11); polar(t,rho3(3,:); subplot(3,4,12); polar(t,rho3(4,:);,Page 17,勒让德(Legendre)函数,以俯仰角为变量的勒让德函数图形,Page 18,球函数,问题来由:求解球谐方程:,球函数:,归一化系数:,球函数,归一化的球函数:前四个球函数:,Page 19,Page 20,球函数,球函数的表达式和特点 复数形式的球函数表达式:球函数的特点: 球函数是在球面上的二元函数 球函数的图形是空间图形,必须指定球的半径,根据欧拉公式: 线性独立的l阶球函数共有2l+1个,m=0,
11、Pl (cos); m=1,2,l, 各有两个球函数 和,Page 21,球函数,球函数的图形 绘制方法:对复数形式的球函数,必须对其实部和虚部分别作图,Page 22,球函数,%P81_1.m l=3; m=2; R=4; A=3; delta=pi/40; theta0=0:delta:pi; phi=0:2*delta:2*pi; phi,theta=meshgrid(phi, theta0); %构建, 数据网路 Ymn=legendre(l,cos(theta0); %计算了勒让德多项式的值 Ymn=Ymn(m+1,:); L=size(theta,1); yy=repmat(Ymn
12、,1,L); Reyy=yy.*cos(m*phi); %实球谐函数 Imyy=yy.*sin(m*phi); %虚球谐函数 ReM=max(max(abs(Reyy);Rerho=R+A*Reyy/ReM; Rer=Rerho.*sin(theta); Rex=Rer.*cos(phi); Rey=Rer.*sin(phi); Rez=Rerho.*cos(theta);%球坐标系 subplot(1,2,1); surf(Rex,Rey,Rez); %绘制实球谐函数三维图像light; lighting phong; axis(square); axis(-5 5 -5 5 -5 5);
13、axis (off); view(40,30) title(实球谐函数);,Page 23,球函数,ImM=max(max(abs(Imyy); Imrho=R+A*Imyy/(ImM+eps*(ImM=0); Imr=Imrho.*sin(theta); Imx=Imr.*cos(phi); Imy=Imr.*sin(phi); Imz=Imrho.*cos(theta); subplot(1,2,2); surf(Imx,Imy,Imz); light; lighting phong; axis(square); axis(-5 5 -5 5 -5 5); axis (off); view
14、(40,30) title(虚球谐函数);,球函数,Page 24,实球谐函数和虚球谐函数的仿真图形,Page 25,球函数,球函数,Page 26,可以绘制一个球面,球面上的颜色来表示相应方向上的数值,Page 27,贝塞尔方程的解-贝塞尔函数,典型实例:求解固定边界的圆膜二维振动:,v阶贝塞尔方程,二维极坐标系下分离变量,变量代换,贝塞尔方程的解-贝塞尔函数,v阶贝塞尔方程的通解通常有下列3种形式:,Page 28,Jv(x)、 Nv(x)、 Hv(x)分别为为v阶第一类、第二类、第三类、贝塞尔(柱)函数。,Page 29,贝塞尔方程的解-贝塞尔函数,Jv(x)为v阶第一类贝塞尔(柱)函数
15、(简称贝塞尔函数),Nv(x)为v阶第二类贝塞尔(柱)函数(又称诺依曼函数),(1)当 (整数)时,贝塞尔方程的通解为:,(A和B为任意常数),*当 v=n(整数)时, J-n (x)=(-1)n Jn (x), J-n (x)与Jn (x)线性相关。因此必有 。,(2)当 取任意值时,贝塞尔方程的通解为:,*当 v是否为整数,上式都成立。,Page 30,贝塞尔方程的解-贝塞尔函数,(3)当 取任意值时,由第一类和第二类还可以构成线性 独立的第三类贝塞尔(柱)函数Hv(x),(又称汉克尔函数),和 分别称为第一种和第二种汉克尔函数。,于是贝塞尔方程的通解又可以表示为:,Page 31,贝塞尔
16、函数,贝塞尔函数的表达式 第一类贝塞尔函数: 第二类贝塞尔函数: 虚宗量贝塞尔方程将贝塞尔方程的宗量x变换为虚数ix,于是得到虚宗量贝塞方程:,Page 32,贝塞尔函数,特殊贝塞尔函数:虚宗量贝塞尔函数,Iv(x)为v阶第一类虚宗量贝塞尔函数(第一类修正贝塞尔函数),(1)当 (整数)时,虚宗量贝塞方程的通解为:,(C和D为任意常数),(2)当 取任意值时,定义:,Kv(x)为v阶第二类虚宗量贝塞尔函数(或麦克唐纳函数,或第二类修正贝塞尔函数),Page 33,贝塞尔函数,当v 取任意值时,虚宗量贝塞方程的通解为:贝塞尔函数的计算和图形绘制 j=Besselj(nu,z) nu为阶,z为贝塞
17、尔函数的常点 (或复数变量) Besselj 第一类贝塞尔函数,简称贝塞尔函数 Bessely 第二类贝塞尔函数,又称诺依曼函数 Besselh 第三类贝塞尔函数,又称汉克尔函数 Besseli 第一类虚宗量贝塞尔函数,又称虚宗量贝塞尔函数 Besselk 第二类虚宗量贝塞尔函数,又称虚宗量汉克尔函数,Page 34,贝塞尔函数的图形,绘制贝塞尔函数图形,y=besselj(0:3,(0:0.2:10); figure(1) plot(0:0.2:10),y) legend(J_0,J_1,J_2,J_3),Page 35,贝塞尔函数,寻找贝塞尔函数零点,%方法I(插值法)x=0:0.05:5
18、0;y=besselj(0,x);LD=;for k=1:length(y)-1if y(k)*y(k+1)0h = interp1(y(k:k+1),x(k:k+1),0); %插值函数LD=LD,h;end end,%方法II(利用Matlab内建函数)j=1; LD= ;y=inline(besselj(0,x),x) %直接定义函数的表达式for k=1:16while (besselj(0,j)*besselj(0,j+1)0)j=j+1;endq=fzero(y,j);%查找一元连续函数的零点j=j+1;LD=LD,q;k=k+1;end,Page 36,贝塞尔函数,贝塞尔函数及其
19、零点,LD = 2.4049 5.5201 8.6537 11.7915 14.9309 18.0711 21.2116 24.3525 27.4935 30.6346 33.7758 36.9171 40.0584 43.1998 46.3412 49.4826,Page 37,贝塞尔函数,绘制诺依曼函数的图形,y=bessely(0:1,(0:0.02:10); plot(0:0.02:10),y) legend(N_0,N_1) axis (0 10 -3.5 1) grid on,Page 38,贝塞尔函数,绘制虚宗量贝塞尔函数的图形,I=besseli(0:1,(0.1:0.3:3)
20、; plot(0.1:0.3:3),I) legend(I_0,I_1) axis (0 3 0 5),Page 39,贝塞尔函数,绘制虚宗量汉克尔函数的图形,K=besselk(0:1,(0.1:0.1:3); plot(0.1:0.1:3),K) legend(K_0,K_1) axis (0 3 0 10),问题由来:与时间有关的三维方程的变量分离,分解为两个常微分方程:,亥姆霍兹方程,球贝塞尔方程及其解,2. 三维热传导(输运)方程,分离变量:,分解为两个常微分方程,亥姆霍兹方程:,球贝塞尔方程及其解,亥姆霍兹方程在球坐标系中的变量分离,分离变量形式的解:,球贝塞尔方程及其解,分解为两
21、个常微分方程:,(10.4.23),(10.4.24),球函数方程,球贝塞尔方程及其解,l阶球贝塞尔方程,阶的贝塞尔方程 。球贝塞尔方程的解称为球贝塞尔函数。,球贝塞尔方程及其解,Page 45,球贝塞尔函数,第一类球贝塞尔函数:,第二类球贝塞尔函数(球诺依曼函数):,第二类球贝塞尔函数(球汉克尔函数):,球贝塞尔方程的通解为:,球贝塞尔方程的通解为:,Page 46,球贝塞尔函数,绘制球贝塞尔函数图形,x=eps:0.2:15; y1=sqrt(pi/2./x).*besselj(1/2,x); y2=sqrt(pi/2./x).*besselj(3/2,x); y3=sqrt(pi/2./
22、x).*besselj(5/2,x); y4=sqrt(pi/2./x).*besselj(7/2,x); plot(x,y1,x,y2,x,y3,x,y4) legend(j_0,j_1, j_3,j_4),Page 47,球贝塞尔函数,绘制球贝塞尔函数图形,x=0.8:0.2:15; y1=sqrt(pi/2./x).*bessely(1/2,x); y2=sqrt(pi/2./x).*bessely(3/2,x); y3=sqrt(pi/2./x).*bessely(5/2,x); y4=sqrt(pi/2./x).*bessely(7/2,x); plot(x,y1,x,y2,x,y3,x,y4) axis (1 10 -0.5 0.4) legend(N_0,N_1, N_3,N_4) grid on,Page 48,本专题小结,MATLAB涉及的特殊函数 函数(Gamma函数) 勒让德(Legendre)函数 球函数 贝塞尔函数 虚宗量贝塞尔函数 球贝塞尔函数,