24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1580  |  回复: 3

xiaojixiong

金虫 (小有名气)

[求助] 求助:如何求含贝塞尔函数的超越方程的复数解

如题,小弟最近碰到一含贝塞尔函数的超越方程。程序如下:
i=1;
for x=0:0.001:5  % x=kc/Wp
for  y=0:0.001:5  % y=w/Wp
if (y-x)<=4.2&&0<(y-x)
t=0.6*1000*sqrt(y.*y-x.*x);
ta=0.6*sqrt(y.*y-x.*x);
tc=0.6*2* sqrt(y.*y-x.*x);
t1=(y.*y-1);
t2=x.*x*(3.4596-y.*y);
t3=y.*y*(y*y-4.4596);
T=0.6*1000*sqrt((t1.*(t2+t3))/t3); Ta=0.6*sqrt((t1.*(t2+t3))/t3); pTa=(Ta/4).*(Ta/4);
pta=(ta/4).*(ta/4);
ptc=(tc/4).*(tc/4);
% ta有关的贝塞尔函数(4个);
cta0=besselj(0,ta(:));
cta1=besselj(1,ta(:));
dta0=bessely(0,ta(:));
dta1=bessely(1,ta(:));
% tc 有关的贝塞尔函数(2个)
ctc0=besselj(0,tc(:));
dtc0=bessely(0,tc(:));
A=ctc0.*dta0-cta0.*dtc0;  B=-ctc0.*dta1+cta1.*dtc0;
cTa0=besselj(0,Ta(:));
cTa1=besselj(1,Ta(:));
f=((y.*y-1)/T).*cTa1.*A+(y.*y/t)*cTa0 *B;
if abs(f)<=0.00000001
a0(i)=x;b0(i)=y;
i=i+1;
disp([num2str(x) ' ' num2str(y)]);
end
end
end
end
我通过限制f绝对值的精度,去求出了满足f=0的实数解,但是我若想求出满足f=0,x和对应的y的复数解。这个程序应该怎么改啊,谢谢大家了。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

0605102034

铜虫 (著名写手)

这个真不清楚哟,不好意思!

[ 发自手机版 http://muchong.com/3g ]
2楼2014-09-24 22:44:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaojixiong

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 0605102034 at 2014-09-24 22:44:15
这个真不清楚哟,不好意思!

哪位大神来救救我啊
3楼2014-09-25 08:35:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiaojixiong

金虫 (小有名气)

引用回帖:
3楼: Originally posted by xiaojixiong at 2014-09-25 08:35:26
哪位大神来救救我啊...

若这种不好求的话,利用南京大学张善德老师编的特殊函数手册里面有关贝塞尔函数的多项式表达式,精度可以精确到十的负八次方,这样f就是一个有关x,和y的高次多项式了(最高次有十几次,接近15次),那么如何求满足f=0的,x,y的复数解呢?哪位大哥教教我啊!!!
4楼2014-09-25 08:43:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xiaojixiong 的主题更新
信息提示
请填处理意见