terryniu01 发表于 2012-5-4 18:57

新手求大侠帮忙看看代码!谢谢!!!

看了篇文献想用matlab来显现它里面的一个重要公式,计算出最后结果。附件是要是实现的公式。里面含有贝塞尔函数,要对它进行0到无穷大的积分。以下是我写的代码:
function T=T_3D(L,a,f)
syms r lamda;
P=1;
k=;
alpha=;
omiga=2*pi*f;
det=(1+i).*sqrt(omiga./(2*alpha));
sigma=(lamda^2+det.^2).^(1/2);
b10=k(2)*sigma(2)/(k(1)*sigma(1));
b21=k(3)*sigma(3)/(k(2)*sigma(2));
gama10=(b10-1)/(b10+1);
gama21=(b21-1)/(b21+1);
part1=1/(k(1)*sigma(1)*(1+b10));
part2=(1-gama21*exp(-2*sigma(2)*L))/(1+gama10*gama21*exp(-2*sigma(2)*L));
F=part1*part2*exp(-lamda^2*a^2/4)*besselj(0,lamda*r)*lamda;
T=P*int(F,lamda,0,inf)

运行的结果是matlab不报错也不给出结果,比较郁闷。想请大家帮忙看一看是不是不能用int函数来实现,这个公式里面带有贝塞尔0阶函数,以前没有接触过它的积分,还是0到无穷大限,望赐教,万分感激!

页: [1]
查看完整版本: 新手求大侠帮忙看看代码!谢谢!!!