- Home
- Products
- Integration
- Tutorial
- Barcode FAQ
- Purchase
- Company
Working with Special Functions in .NET
CHAPTER 11 Working with Special Functions Denso QR Bar Code Printer In .NET Framework Using Barcode generator for .NET Control to generate, create QR image in .NET applications. Read QR-Code In Visual Studio .NET Using Barcode decoder for .NET framework Control to read, scan read, scan image in Visual Studio .NET applications. Figure 11-3 Generate Barcode In .NET Using Barcode drawer for .NET framework Control to generate, create bar code image in .NET framework applications. Bar Code Decoder In Visual Studio .NET Using Barcode reader for Visual Studio .NET Control to read, scan read, scan image in Visual Studio .NET applications. A plot of J1(x) QR Code JIS X 0510 Generation In C# Using Barcode encoder for .NET framework Control to generate, create Denso QR Bar Code image in Visual Studio .NET applications. QR Code ISO/IEC18004 Maker In Visual Studio .NET Using Barcode creator for ASP.NET Control to generate, create QR Code image in ASP.NET applications. These characteristics apply in general to Bessel functions of the first kind Let s generate a plot that compares J0(x), J1(x), and J2(x): Encode Denso QR Bar Code In Visual Basic .NET Using Barcode printer for .NET Control to generate, create Denso QR Bar Code image in .NET applications. GS1 DataBar Truncated Generator In .NET Using Barcode creation for VS .NET Control to generate, create GS1 DataBar Expanded image in .NET applications. >> x = [0:01:20]; u = besselj(0,x); v = besselj(1,x); w = besselj(2,x); >> plot(x,u,x,v,'--',x,w,'-'),xlabel('x'),ylabel('BesselJ(n,x)'), grid on, legend('bessel0(x)','bessel1(x)','bessel2(x)') Universal Product Code Version A Creator In .NET Using Barcode printer for Visual Studio .NET Control to generate, create Universal Product Code version A image in Visual Studio .NET applications. Draw Code 39 Full ASCII In .NET Framework Using Barcode creator for VS .NET Control to generate, create USS Code 39 image in Visual Studio .NET applications. Looking at the plot, shown in Figure 11-4, it appears that the oscillations become smaller as n gets larger Bessel functions of the first kind can also be defined for negative integers They are related to Bessel functions of the first kind for positive integers via: J n ( x ) = ( 1)n J n ( x ) Let s do some symbolic computation to find the derivative of a Bessel function: UCC.EAN - 128 Encoder In Visual Studio .NET Using Barcode creator for .NET framework Control to generate, create EAN / UCC - 14 image in .NET framework applications. Printing USPS POSTal Numeric Encoding Technique Barcode In VS .NET Using Barcode maker for .NET framework Control to generate, create USPS POSTal Numeric Encoding Technique Barcode image in .NET framework applications. >> syms n x y >> diff(besselj(n,x)) ans = besselj(n+1,x)+n/x*besselj(n,x) Read GTIN - 12 In Java Using Barcode decoder for Java Control to read, scan read, scan image in Java applications. Universal Product Code Version A Creator In Visual Basic .NET Using Barcode encoder for Visual Studio .NET Control to generate, create UCC - 12 image in Visual Studio .NET applications. MATLAB Demysti ed
GS1 - 12 Decoder In Visual C#.NET Using Barcode scanner for .NET framework Control to read, scan read, scan image in VS .NET applications. Painting USS-128 In Java Using Barcode creator for BIRT Control to generate, create GS1-128 image in BIRT applications. Figure 11-4 Data Matrix Maker In None Using Barcode drawer for Software Control to generate, create Data Matrix ECC200 image in Software applications. Painting Barcode In VS .NET Using Barcode drawer for ASP.NET Control to generate, create bar code image in ASP.NET applications. A plot of J0(x), J1(x), and J2(x) UCC.EAN - 128 Maker In Java Using Barcode printer for Java Control to generate, create UCC - 12 image in Java applications. Code 128 Code Set C Drawer In None Using Barcode generator for Word Control to generate, create Code 128 Code Set C image in Office Word applications. MATLAB has calculated the relation: Jn ( x) = n J ( x ) J n +1 ( x ) x n
When integrals involving Bessel functions are encountered, MATLAB can also be used For example: >> int(x^n*besselj(n 1,x)) ans = x^n*besselj(n,x) That is, modulo a constant of integration: x n J n 1 ( x )dx = x n J n ( x ) CHAPTER 11 Working with Special Functions
Let s compute the first five terms of the Taylor series expansions of J0(x) and J1(x): >> taylor(besselj(0,x),5) ans = 1 1/4*x^2+1/64*x^4 >> taylor(besselj(1,x),5) ans = 1/2*x 1/16*x^3
MATLAB also has the other Bessel functions built in Bessel functions of the second kind are implemented with bessely(n, x) In Figure 11-5, we show a plot of the first three Bessel functions of the second kind generated with MATLAB We can also implement another type of Bessel function in MATLAB, the Hankel function These can be utilized by calling besselh(nu, k, z) There are two types of Hankel functions (first kind and second kind), where the kind is denoted by k in MATLAB If we leave the k out of the argument and call besselh(nu, z) MATLAB defaults to the Hankel function of the first kind Figure 11-5 Plotting Bessel functions of the second kind
MATLAB Demysti ed
EXAMPLE 11-2 A cylindrical traveling wave can be shown to be described by: ( (r , t ) = H 01) ( kr )e i t
where we take the real part Implement the real part of this function in MATLAB and plot as a function of r (in meters) for t = 0, p /2w, 3p /4w Assume that k = 500 cm 1 over 0 r 10 m SOLUTION 11-2 First we convert k into the proper units: 100 cm = 50000 m 1 k = 500 cm 1 m Let s generate some plots to see how k impacts the behavior of the real part of the Hankel function First we generate an array for the range of values over which we want to plot: >> r = linspace(0,10); Let s suppose that k were unity In this case we could define the Hankel function as: >> u = besselh(0,r); You can evaluate the Hankel function at different points to see that it s complex For example: >> besselh(0,2) ans = 02239 + 05104i
This indicates that for the function in question to be physical, we have to take the real part, a common practice when studying traveling electromagnetic waves, for example So we plot the real part of this function: >> plot(r,real(u)),xlabel('r'),ylabel('Hankel(0,r)') CHAPTER 11 Working with Special Functions
Figure 11-6 (1) A plot of the real part of H0 (r) for 0 r 10
The result, shown in Figure 11-6, indicates that this function is a decaying oscillatory function Not surprising since this is a type of Bessel function and we have already seen that Bessel functions are decaying oscillatory functions! Now let s add in the wave number k The code above becomes: >> >> >> >> r = linspace(0,10); k = 50000; w = besselh(0,k*r); plot(r,real(w)),xlabel('r'),ylabel('Hankel(0,kr)') Two items are immediately apparent by looking at the graph, shown in Figure 11-7 The first is that the function appears to oscillate quite a bit more rapidly over the distance r Secondly, we notice that the amplitude is much smaller in this case Now let s take a look at the function at different times First considering t = 0, we have: ( (r , 0 ) = H 01) ( kr ) This is what we have in Figure 11-7 Now let s let t = p/2w: ( ( ( (r , /2 ) = H 01) ( kr )e i ( /2 ) = H 01) ( kr )e i /2 = iH 01) ( kr )
|
|