![]() |
有关贝塞尔函数和勒让德函数的无限和
1 个附件
[SIZE="5"]需要计算这样一个表达式 其中J 和H分别是第一类贝塞尔函数和Hankel函数,阶数均为v=n+1/2
P是n介勒让德函数,kb=50 kr=10000 theta为0到180 请问这样的无限求和 应该怎样计算比较精确,是把n选的很大吗? 大家帮我看看我的程序哪里不对 为什么只能算到80阶? 再往高阶算出的就是未知数了[/SIZE] |
回复: 有关贝塞尔函数和勒让德函数的无限和
[SIZE="5"]以下是我的程序
b=5; r=1000; k=10; T=0; for n=0:1:80 v=n+0.5; T=T+(-j)^(n+1)*(n+0.5)*besselj(v,k*b)*besselh(v,k*r)*lerangde(n,cos(theta))/besselh(v,k*b); end 勒让德函数是我自己写的 function pn=lerangde(l,x) pn=0; for i=0:l/2 pn=pn+(-1)^i*jiecheng(2*l-2*i)*x.^(l-2*i)/(2^l*jiecheng(i)*jiecheng(l-i)*jiecheng(l-2*i)); end 阶乘函数 function m=jiecheng(n); if (n==0) m=1; else m=1; for i=1:n; m=m*i; end end[/SIZE] |
所有时间均为北京时间。现在的时间是 03:24。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.