对于式子Y0(Xn*R)J1(Xn*rd)-J0(Xn*R)Y1(Xn*rd)=0, R,rd已知情况下,Y0和J0为第一类和第二类零阶贝塞尔函数,请问怎么用matlab求出系数Xn?虽然书上说Xn是贝塞尔函数的特征值,但依旧不知怎么用matlab求出系数Xn的值? 返回小木虫查看更多
可以利用solve函数和bessely(0,x)函数、besselj(0,x)函数求解。
解不唯一,我随便用两个数,R和rd你根据自己需要修改。一直到plot这样就是画图看看解的情况。然后下面那个fzero是用数值方式求解,中括号里面的两个数是你想要求解的区间范围,根据你自己的需求修改吧。 R=10; rd=1; fun=@(x) bessely(0,x*R)*besselj(1,x*rd)-besselj(0,x*R)*bessely(1,x*rd) x=linspace(0.1,10,100); for k=1:length(x) y(k)=fun(x(k)); end plot(x,y) fzero(fun,[0.1 0.5]),
可以利用solve函数和bessely(0,x)函数、besselj(0,x)函数求解。
解不唯一,我随便用两个数,R和rd你根据自己需要修改。一直到plot这样就是画图看看解的情况。然后下面那个fzero是用数值方式求解,中括号里面的两个数是你想要求解的区间范围,根据你自己的需求修改吧。
R=10;
rd=1;
fun=@(x) bessely(0,x*R)*besselj(1,x*rd)-besselj(0,x*R)*bessely(1,x*rd)
x=linspace(0.1,10,100);
for k=1:length(x)
y(k)=fun(x(k));
end
plot(x,y)
fzero(fun,[0.1 0.5]),