Home > SPlaC v1_0 > Mie > GEN > GenRBxi2.m

GenRBxi2

PURPOSE ^

Calculates the Ricatti-Bessel function xi_n(rho)=h1_n(rho)*rho and its derivative for n=1:nNmax

SYNOPSIS ^

function stRBxi2=GenRBxi2(nNmax, rho)

DESCRIPTION ^

 Calculates the Ricatti-Bessel function xi_n(rho)=h1_n(rho)*rho and its derivative for n=1:nNmax

 Parameters:
 - nNmax: scalar integer
          number of n in series 
 - rho:   column vector [R x 1] (no zero components allowed)
          arguments of the Ricatti-Bessel function  

 Returns: structure with 2 fields
          each a matrix [R x nNmax] 
          with values for each rho and n=1..nNmax
 stRBxi2.xi:  xi_n(rho)
 stRBxi2.Dxi: xi'_n(rho)} 

 This file is part of the SPlaC v1.0 package (copyright 2008)
 Check the README file for further information

EXAMPLE OF OUTPUT ^

Example figure output

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 n=1:nNmax;
0002 nm1=0:nNmax;
0003 nu=nm1+0.5;
0004 [f ierr1]=besselh(nu,rho);
0005 % f is matrix [R x nNmax+1] of cylindrical Hankel
0006 % H1_{n+0.5}(rho), n=0..nNmax
0007 
0008 if (max(max(ierr1)) > 0)
0009     disp 'Error in besselh in GenRBxi2'
0010 end
0011 
0012 sq=sqrt((pi/2).*rho); % [R x 1]
0013 sqmat=repmat(sq,1,nNmax+1); % [R x nNmax+1]
0014 f=f.*sqmat;
0015 % f is now matrix of Ricatti-Bessel
0016 % xi_n(rho), n=0..nNmax or equivalently xi_{n-1}(rho), n=1..nNmax+1
0017 
0018 stRBxi2.xi=f(:,n+1);
0019 
0020 rhomat=repmat(rho,1,nNmax); % [R x nNmax]
0021 nmat=repmat(n,length(rho),1); % [R x nNmax]
0022 
0023 % Computes: xi_n'=xi_{n-1} - n xi_n/rho
0024 % and check for loss of precision in sum
0025 stRBxi2.Dxi=GenCheckSum2Mat(f(:,n), - nmat.*f(:,n+1)./rhomat,'Dxi','GenRBxi2');
0026 
0027 
0028 
0029

This web page is part of the SPlaC package © 2008. Contact: Eric Le Ru
Generated on Wed 03-Dec-2008 11:10:14 by m2html © 2003 (adapted)