⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 besselj_solve2.m

📁 利用matlab求解贝塞尔函数
💻 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 + -