天天看点

Matlab之贝塞尔函数

      贝塞尔函数在matlab中已经有了函数,可以直接用。那么我们就没有必要重复发明轮子。

以下内容摘自某文档。

第一类贝塞尔函数

在MatLab中用besselj(NU,Z)来表示:

用MatLab的仿真代码是:

clear ,clc;

format long

x=(0:0.01:20)';

y_0=besselj(0,x);

y_1=besselj(1,x);

y_2=besselj(2,x);

plot(x,y_0,x,y_1,x,y_2);grid on;

axis([0,20,-1,1]);

title('0阶、一阶、二阶第一类贝塞尔函数曲线图');

xlabel('Variable X');

ylabel('Variable Y');

第二类贝塞尔函数(诺依曼函数)

在MatLab中用用bessely(NU,Z)来表示:

clear ,clc;

format long

x=(0:0.01:20)';

y_0=bessely(0,x);

y_1=bessely(1,x);

y_2=bessely(2,x);

plot(x,y_0,x,y_1,x,y_2);grid on;

axis([1,20,-2,1]);

title('0阶、1阶、2阶第二类贝塞尔函数曲线图');

xlabel('Variable X');

ylabel('Variable Y');

第三类贝塞尔函数(汉克尔函数)

汉克尔函数在MatLab中用BESSELH(NU,K,Z)

clear ,clc;

format long

x=(0:0.01:20)';

y_0=besselh(0,2,x);

y_1=besselh(1,2,x);

y_2=besselh(2,2,x);

plot(x,y_0,x,y_1,x,y_2);

axis([0,20,-0.5,1]);

grid on;

title('0阶、1阶、2阶第三类贝塞尔函数曲线图');

xlabel('Variable X');

ylabel('Variable Y');

变形第一类贝塞尔函数(modified function of the first kind)

变形第一类贝塞尔函数在MatLab中用BESSELI(NU,Z) 表示

clear ,clc;

format long

x=(0:0.01:20)';

y_0=besseli(0,x);

y_1=besseli(1,x);

y_2=besseli(2,x);

plot(x,y_0,x,y_1,x,y_2);

grid on;

axis([0,6,0,6]);

title('0阶、1阶、2阶变形第一类贝塞尔函数曲线');

xlabel('Variable X');

ylabel('Varialbe Y');

变形第二类贝塞尔函数(modified Bessel function of the second kind)

变形第二类贝塞尔函数在MatLab中用BESSELK(NU,Z) 表示

clear ,clc;

format long

x=(0:0.01:20)';

y_0=besselk(0,x);

y_1=besselk(1,x);

y_2=besselk(2,x);

plot(x,y_0,x,y_1,x,y_2);

grid on;

axis([0,6,0,6]);

title('0阶、1阶、2阶变形第二类贝塞尔函数曲线');

xlabel('Variable X');

ylabel('Varialbe Y');

继续阅读