主程序:
clc
clear
w=0:0.1:12;
y0=Besselj(0,w);
y1=Besselj(1,w);
y2=Besselj(2,w);
plot(w,y0,'o-',w,y1,'*-',w,y2,'s-');
legend('besl0','besl1','besl2');
grid on;
title('0阶、1阶、2阶第一类贝塞尔函数曲线图'); xlabel('Variable X');
ylabel('Variable Y');
axis([0,12,-0.6,1]);
y00=bessely(0,w);
y11=bessely(1,w);
y22=bessely(2,w);
figure;
plot(w,y00,'o-',w,y11,'*-',w,y22,'s-');
legend('besl00','besl11','besl22');grid on;
axis([0,12,-1,0.8]);
title('0阶、1阶、2阶第二类贝塞尔函数曲线图'); xlabel('Variable X');
ylabel('Variable Y');
d0=besseld(0,w );
d1=besseld(1,w );
d2=besseld(2,w );
figure;
plot(w,d0,'o-',w,d1,'*-',w,d2,'s-');
legend('0阶导','1阶导','2阶导');grid on;
title('0阶、1阶、2阶第一类贝塞尔函数导数曲线图'); xlabel('Variable X');
ylabel('Variable Y');
axis([0 12 -0.8 0.8]);
求第一类贝塞尔函数导数的程序:
function [ y ] =besseld(n,x )
if n==0
y=-Besselj(1,x);
else
y=(Besselj(n-1,x)-Besselj(n+1,x))/2;
end
end