萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 2934|回复: 3

[工程类] 请问关于Bessel简单函数的零点

[复制链接]
发表于 2007-5-29 21:44 | 显示全部楼层 |阅读模式
请问用matlab怎么求 Bessel 函数的零点?
比如在0到100范围内mathematica: Plot[BesselJ[1, x], {x, 0, 100}]
并且怎么以表的形势列出所有的零点呢?

多谢指教$握手$

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-5-30 00:38 | 显示全部楼层
用单句语句,自己是没有想出来。用一段语句,还是可以实现的,关键的是函数是
fzero(inline('besselj(0,x)'),[a1 a2])
这里,函数将返回a1 a2之中的离a1最近的零点。如果f(a1) 和f(a2)符号相同,即使a1 a2中间有零,函数也会出错,所以,用一个范围先粗粗的得到一些值,比如

y=besselj(0,1:0.1:100);

这样可以先得到0 到100之间,间隔为0.1的函数的值,然后判断相邻的符号为负的点

i=find(y(1:1000).*y(2:1001)<0);

然后,循环,得到每一个i对应的范围,求出精确值。

完整的步骤见下面;为了方便,用[a c]表示范围,b表示粗算精度:

a=0;c=100;b=0.1;
x=[a:b:c];
y=besselj(0,x);
i=find(y(1 : (c-a)/b).*y(2 : (c-a)/b+1)<0);
for j=1:size(i,2);
   r(j) = fzero(inline('besselj(0,x)'),[x(i(j)) x(i(j)+1)]);
end

执行结果:

>>r

r =

  Columns 1 through 9

    2.4048    5.5201    8.6537   11.7915   14.9309   18.0711   21.2116   24.3525   27.4935

  Columns 10 through 18

   30.6346   33.7758   36.9171   40.0584   43.1998   46.3412   49.4826   52.6241   55.7655

  Columns 19 through 27

   58.9070   62.0485   65.1900   68.3315   71.4730   74.6145   77.7560   80.8976   84.0391

  Columns 28 through 32

有更好的,欢迎再贴!
   87.1806   90.3222   93.4637   96.6053   99.7468

[ 本帖最后由 recbio 于 2007-5-30 00:40 编辑 ]

评分

1

查看全部评分

Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-5-30 11:33 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2007-6-4 10:14 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-8 05:06 , Processed in 0.056114 second(s), 18 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表