| 查看: 1438 | 回复: 7 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
zhangyatao木虫 (正式写手)
|
[交流]
[color=Blue]【求助】Bessel函数的Matlab解法[/color]
|
||
|
对于下面的Bessel函数,如何用Matlab求解,麻烦给出源程序或类似程序,多谢了! D*x*J1(x)=J0(x),其中D是常数。 [ Last edited by zhangyatao on 2009-4-1 at 16:51 ] |
» 猜你喜欢
求收留
已经有5人回复
375求调剂
已经有4人回复
340求调剂
已经有6人回复
298求调剂
已经有3人回复
085601材料工程找调剂
已经有9人回复
考研调剂
已经有4人回复
面上5B能上会吗?
已经有3人回复
求调剂,一志愿 南京航空航天大学 ,080500材料科学与工程学硕,总分289分
已经有7人回复
086000生物与医药调剂
已经有9人回复
343求调剂
已经有6人回复

★ ★ ★ ★
sunxiao(金币+4,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-1 22:37
sunxiao(金币+4,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-1 22:37
|
function x=solvefun(a,b,D,tol) %-------------------------------------------------------------------------- range=a:1:b; if range(end) range=[range,b]; end tag=[abs(diff(sign(fun(range,D)))) 0]; range=range(find(tag>0))'; range=[range range+1]; %-------------------------------------------------------------------------- n=size(range,1); tol=tol/10; x=zeros(n,1); for i=1:n xmin=range(i,1); xmax=range(i,2); xcur=(xmin+xmax)/2; while xmax-xmin>tol if sign(fun(xmin,D))*sign(fun(xcur,D))>0 xmin=xcur; else xmax=xcur; end xcur=(xmin+xmax)/2; end x(i)=xcur; end %-------------------------------------------------------------------------- function y=fun(x,D) y=D.*x.*Bessel(1,x)-Bessel(0,x); |
8楼2009-04-01 16:55:01
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
zhangyatao(金币+8,VIP+0):程序有点错误,不过还是挺感谢你的! 4-1 15:41
sunxiao(金币+2,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-1 22:38
zhangyatao(金币+8,VIP+0):程序有点错误,不过还是挺感谢你的! 4-1 15:41
sunxiao(金币+2,VIP+0):谢谢参与交流,欢迎常来仿真编程版 4-1 22:38
|
可以先画图像看看啊 fplot('x*Bessel(x,1)-Bessel(x,0)',[-10,100]) 可以看出,方程无解,但函数随x的增大是趋近于零的 >> x=20 x = 20 >> x*Bessel(x,1)-Bessel(x,0) ans = 7.7470e-024 >> x=10000 x = 10000 >> x*Bessel(x,1)-Bessel(x,0) ans = 0 [ Last edited by fspdlh on 2009-4-1 at 15:19 ] |
2楼2009-04-01 15:16:49
zhangyatao
木虫 (正式写手)
- 应助: 0 (幼儿园)
- 金币: 3307.9
- 散金: 840
- 红花: 2
- 帖子: 646
- 在线: 677.5小时
- 虫号: 325718
- 注册: 2007-03-17
- 性别: GG
- 专业: 分离过程

3楼2009-04-01 15:24:49
4楼2009-04-01 15:34:29














回复此楼
5