天天看點

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');

繼續閱讀