📄 besselj_solve2.m
字号:
function besselj_solve2(a,b,t)
y=linspace(a,b,1000);
A=besselj(0,y);
B=besselj(1,y);
p=0;
solve_besselj=y.*A-0.73*B;
[i,j]=find(abs(solve_besselj)<t);
test=length(i);
if test==0
disp('初始精度设置过高,请降低')
return
end
for n=1:length(i)
solve_besselj_roots(n)=solve_besselj(i(n),j(n));
y_roots(n)=y(i(n),j(n));
end
[m q]=size(solve_besselj_roots);
%k=1;
for k=1:1:q-1
%while(k<=q-1)
if solve_besselj_roots(k)*solve_besselj_roots(k+1)<0
a=y_roots(k);
b=y_roots(k+1);
t=t/10;
while (p==0)
if a-b<0.00001
p=1;
end
end
besselj_solve2(a,b,t);
% y=linspace(a,b,1000);
% elseif abs(y_roots(k)-y_roots(k+1))<=0.00001%solve_besselj_roots(k)-solve_besselj_roots(k+1)<=t
%y_roots=y_roots(k)%solve_besselj_roots(k);
% elseif
% solve_besselj_roots(k)*solve_besselj_roots(k+1)>0
%continue;
end
%k=k+1;
end
a,b%solve_besselj_roots,y_roots,a,b%solve_besselj_rootss,y_rootss,b
% display the selected results of y.*A-0.73*B
%solve_besselj,y_roots % display the whole data of y.*A-0.73*B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -