问一个积分的问题
录入:edatop.com 阅读:
附件里是K.K.M的一篇文章中的一个方程,其中delta的积分的分母最后一个p是出于次幂的位置上,论文中打错了。
除了tc外都是已知的,beta在-pi/2到pi/2之间,p为0到1之间,就是要求出tc为何值时第一个方程成立。
很明显,第一个方程中的被积函数在几分区间内是有奇点的。我想通过对方称的数值积分然后用fzero求得零点,就是tc的值。
但是再做方程1的右边的积分时,matlab报错,说是已经达到最大分步,可能有奇点。肯定是有奇点,但是为什么delta函数就能够积出来。
下面这个程序是我计算右边积分的:
function f=right_intg(beta,tc)
p=1/2-beta./pi;
g=['1./(sinh(x).^(1-2.*',num2str(p),').*(1-',num2str(tc),'.^2.*cosh(x).^2).^',num2str(p),')'];
h=inline(g);
ceiling=acosh(1./tc);
f=quadl(h,0,acosh(1./tc));
下面程序是我计算delta的:
function f=delta(beta,tc)
p=1/2-beta./pi;
g=['1./(cos(x).^(1-2.*',num2str(p),').*(1-',num2str(tc),'.^2.*sin(x).^2).^',num2str(p),')'];
h=inline(g);
f=quadl(h,0,pi/2);
如果不能得到数值解,那么,我就无法得到tc。论文中,kkm只说了一句,用迭代的方法求得了tc,我也知道用迭代求根,我就用matlab中的fzero函数。但是积分积不出来,就卡在这个地方了。
请各位看看,我的思路和方法有何问题,有无更好的解决方式,谢谢啦~~
除了tc外都是已知的,beta在-pi/2到pi/2之间,p为0到1之间,就是要求出tc为何值时第一个方程成立。
很明显,第一个方程中的被积函数在几分区间内是有奇点的。我想通过对方称的数值积分然后用fzero求得零点,就是tc的值。
但是再做方程1的右边的积分时,matlab报错,说是已经达到最大分步,可能有奇点。肯定是有奇点,但是为什么delta函数就能够积出来。
下面这个程序是我计算右边积分的:
function f=right_intg(beta,tc)
p=1/2-beta./pi;
g=['1./(sinh(x).^(1-2.*',num2str(p),').*(1-',num2str(tc),'.^2.*cosh(x).^2).^',num2str(p),')'];
h=inline(g);
ceiling=acosh(1./tc);
f=quadl(h,0,acosh(1./tc));
下面程序是我计算delta的:
function f=delta(beta,tc)
p=1/2-beta./pi;
g=['1./(cos(x).^(1-2.*',num2str(p),').*(1-',num2str(tc),'.^2.*sin(x).^2).^',num2str(p),')'];
h=inline(g);
f=quadl(h,0,pi/2);
如果不能得到数值解,那么,我就无法得到tc。论文中,kkm只说了一句,用迭代的方法求得了tc,我也知道用迭代求根,我就用matlab中的fzero函数。但是积分积不出来,就卡在这个地方了。
请各位看看,我的思路和方法有何问题,有无更好的解决方式,谢谢啦~~
申明:网友回复良莠不齐,仅供参考。如需专业解答,请学习本站推出的微波射频专业培训课程。
上一篇:一个界面上电磁波相位的问题
下一篇:HFSS不能仿真低频?