这个函数里面存在贝塞尔函数
function f=abs_R(lamda)
x=0:lamda/100:lamda;
y=1./tan(-1.*besselj(1,x)./bessely(1,x))./(x.*sqrt(lamda.*lamda-x.*x));
% y=@(x)1.0./tan(-1.*besselj(1,x)./bessely(1,x))./(x.*sqrt(lamda.*lamda-x.*x));
% f=exp(-2.*lamda./pi.*intgeal(@(x)y(x),0,lamda));
f=exp(-2.*lamda./pi.*trapz(x,y));
显然当x=0或x=lamda时,有(x.*sqrt(lamda.*lamda-x.*x)) = 0,分母为0,分子不为0,结果就是inf了。
稍作修改:
lamda = 100;
x= (1:99) * lamda/100;
y=1./tan(-1.*besselj(1,x)./bessely(1,x))./(x.*sqrt(lamda.*lamda-x.*x));
f = exp(-2.*lamda./pi.*trapz(x,y))
结果:
f =
1.6816e+03