Instructions
Objective
Write a program to implement bessel functions in matlab.
Requirements and Specifications
Source Code
BESSEL PRINCIPAL
function J = besselprincipal(n, z, terms)
z = double(z);
result = 0;
for k = 0:terms
denom = (factorial(k).*gamma(n+k+1));
if denom ~= Inf % If the denominator is n Inf, we do not consider the term since it is equal to zero
result = result + (-1/4 *z.^2).^k ./(factorial(k).*gamma(n+k+1));
end
end
result = result.*(1/2 .*z).^n;
J = result;
end
BESSEL HANKEL
function J = besselhankel(n, z)
X = z - (pi/2)*(n + 1/2);
m = 4*n^2;
P = 1 - (m-1).*(m-9)./(2*(8*z).^2) + (m-1).*(m-9).*(m-25).*(m-49)./(factorial(4).*(8*z).^4);
Q = (m-1)./(8.*z) - (m-1).*(m-9).*(m-25)./(factorial(3).*(8.*z).^3);
result = sqrt(2./(pi*z)).*(P.*cos(X) - Q.*sin(X));
J = result;
end