求N+1次勒让德多项式的m(m=0,1,...)阶导数零点Matlab程序
子程序:
function x=jp(N,alpha,beta)
n=1:N;
a(1)=(alpha+beta+2)/2;
b(1)=(beta-alpha)/2;
a([2:N+1])=(2*n+alpha+beta+1).*(2*n+alpha+beta+2)./(2*(n+1).*(n+alpha+beta+1));
b([2:N+1])=(alpha*alpha-beta*beta)*(2*n+alpha+beta+1)./(2*(n+1).*(n+alpha+beta+1).*(2*n+alpha+beta));
c=(n+alpha).*(n+beta).*(2*n+alpha+beta+2)./((n+1).*(n+alpha+beta+1).*(2*n+alpha+beta));
A=diag(b./a)+diag(1./a([1:N]),1)+diag(c./a([2:N+1]),-1);
x=sort(eig(A))'
主程序
function x=djp(N,alpha,beta,m)
N1=N-m;
alpha1=alpha+m;
beta1=beta+m;
x=jp(N1,alpha1,beta1)
说明:alpha,beta都取0,m表示m阶导数。
比如求5次勒让德多项式1阶导数的零点
>> djp(4,0,0,1) 回车
x =
-0.7651 -0.2852 0.2852 0.7651
又如求10次勒让德多项式的零点
>> djp(9,0,0,0)
x =
-0.9739 -0.8651 -0.6794 -0.4334 -0.1489 0.1489 0.4334 0.6794 0.8651 0.9739
又如求10次勒让德多项式4阶导数的零点
>> djp(9,0,0,4)
x =
-0.7374 -0.4689 -0.1609 0.1609 0.4689 0.7374
◆◆
评论读取中....
请登录后再发表评论!
◆◆
修改失败,请稍后尝试