Вычислить функцию Бесселя в MATLAB, используя формулу Jm + 1 = 2mj (m) -j (m-1)

Я попытался реализовать функцию bessel, используя эту формулу, это код:

function result=Bessel(num);


if num==0
    result=bessel(0,1);
elseif num==1
    result=bessel(1,1);
else
    result=2*(num-1)*Bessel(num-1)-Bessel(num-2);
end;

Но если я использую функцию bessel MATLAB для сравнения ее с этой, я получаю слишком высокие разные значения. Например, если я введите Bessel (20), он даст мне 3,1689e + 005, если вместо этого я наберу bessel (20,1), он даст мне 3,8735e-025, совершенно другой результат.

5
задан Jeffrey Sax 27 October 2011 в 07:51
поделиться