Home

Symbolic Math Toolbox User's Guide

image

Contents

1. 1 lambda 0 DI 0 DI 0 KC KC o000o0 KC Di See Also jordan poly svd vpa 3 29 expm Purpose Syntax Description Examples 3 30 Symbolic matrix exponential expm A expm A is the matrix exponential of the symbolic matrix A The statements syms t A 0 1 1 0 expm t A return cos t sin t sn cos t expand Purpose Syntax Description Examples See Also Symbolic expansion R expand S expand S writes each element of a symbolic expression S as a product of its factors expand is most often used only with polynomials but also expands trigonometric exponential and logarithmic functions expand x 2 x 4 returns x 2 6 x 8 expand cos x y returns cos x cos y sin x sin y expand exp a b 2 returns exp a 2 exp a b 2 exp b 2 expand sin 2 t cos 2 t returns 2 sin t cos t 2 cos t 2 1 collect factor horner simple simplify syms 3 31 ezcontour Purpose Syntax Description Examples 3 32 Contour plotter ezcontour f ezcontour f domain ezcontour n ezcontour f plots the contour lines of f x y where f is a symbolic expression that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 2n Heu e HN MATLAB chooses the computational grid according to the amount of variation that occurs ifthe function fis n
2. 1 3 Notice that subexpr creates the variable sigma in the MATLAB workspace You can verify this by typing whos or the command sigma which returns sigma 108 12 12 a 3 81 1 2 subs The following code finds the eigenvalues and eigenvectors of a circulant matrix A syms abc A a b c bca cab v E eig A Vv at b 2 b a c b c ata 2 c 2 1 2 b a c a b 2 b a c b c a a 2 c 2 1 2 b a c 1 b c b 2 b a c b c ata 2 c 2 1 2 a c b c b 2 b a c b c ata 2 c 2 1 2 a c 1 1 1 1 b 2 b a c b c ata 2 c 2 1 2 0 0 0 b 2 b a c b c ata 2 c 2 1 2 0 0 0 b c a 2 52 Simplifications and Substitutions Note MATLAB might return the eigenvalues that appear on the diagonal of E in a different order In this case the corresponding eigenvectors which are the columns of v will also appear in a different order Suppose you want to replace the rather lengthy expression b 2 b a c b c ata 2 c 2 1 2 throughout v and E First use subexpr v subexpr v S which returns S b 2 b a c b c ata 2 c 2 1 2 V atS b a c a S b a c 1 b c S a c b c S a c 1 1 1 1 Next substitute the symbol S into E with E subs E S S E S 0 0 O S 0 0 0 b c a Now suppose you want to evaluate vata 10 You can do this using the subs command subs v a 10 This replaces all occurrences
3. 32 45 1 180 12589 1 2 32 45 1 180 12589 1 2 Closed form symbolic expressions for the eigenvalues are possible only when the characteristic polynomial can be expressed as a product of rational polynomials of degree four or less The Rosser matrix is a classic numerical analysis test matrix that illustrates this requirement The statement R sym gallery rosser generates R 611 196 192 407 8 52 49 29 196 899 113 192 71 43 8 44 192 113 899 196 61 49 8 52 407 192 196 611 8 44 59 23 8 71 61 8 411 599 208 208 52 43 49 44 599 411 208 208 49 8 8 59 208 208 99 911 29 44 52 23 208 208 911 99 The commands p poly R pretty factor p 2 70 Linear Algebra produce 2 2 2 x x 1020 x 1020 x 100 x 1040500 x 1000 The characteristic polynomial of degree 8 factors nicely into the product of two linear terms and three quadratic terms You can see immediately that four of the eigenvalues are 0 1020 and a double root at 1000 The other four roots are obtained from the remaining quadratics Use eig R to find all these values ans 0 1020 10 10405 1 2 10 10405 1 2 510 100 26 1 2 510 100 26 1 2 1000 1000 The Rosser matrix is not a typical example it is rare for a full 8 by 8 matrix to have a characteristic polynomial that factors into such simple form If you change the two corner elements of
4. Figure No 1 of File Edit View Insert Tools Window Help exp 5 x 2 0 395740 simple Purpose Syntax Description Examples See Also Search for a symbolic expression s simplest form r simple S r how simple S simple S tries several different algebraic simplifications of the symbolic expression S displays any that shorten the length of S s representation and returns the shortest Sis a sym If S is a matrix the result represents the shortest representation of the entire matrix which is not necessarily the shortest representation of each individual element If no return output is given simple S displays all possible representations and returns the shortest r how simple S does not display intermediate simplifications but returns the shortest found as well as a string describing the particular simplification r is a sym how is a string Expression Simplification Simplification Method cos x 2 sin x 2 1 simplify 2 cos x 2 sin x 2 3 cos x 2 1 simplify cos x 2 sin x 2 cos 2 x combine trig cos x cos x i sin x radsimp sin x 2 1 2 cos x i sin x exp i x convert exp x 1 x x 1 x 3 x collect x x 3 3 x 2 3 x 1 x 1 3 factor cos 3 acos x 4 x 3 3 x expand collect expand factor horner simplify 3 105 simplify Purpose Syntax Description Examples See Also 3 106 Symbolic simplification R simplify S simplify S simplifies ea
5. Purpose Syntax Description Examples Generalized hypergeometric function hypergeom n d z hypergeom n d z is the generalized hypergeometric function F n d z also known as the Barnes extended hypergeometric function and denoted by Ay where j length n andk length d For scalar a b and c hypergeom a b c z is the Gauss hypergeometric function 9F a b c z The definition by a formal power series is 8 Cak e F n d z T 2 E CC where Ens l rw k SG Fw Either of the first two arguments may be a vector providing the coefficient parameters for a single function evaluation If the third argument is a vector the function is evaluated pointwise The result is numeric if all the arguments are numeric and symbolic if any of the arguments is symbolic See Abramowitz and Stegun Handbook of Mathematical Functions chapter 15 syms a Z hypergeom z returns exp z hypergeom 1 z returns 1 1 z hypergeom 1 2 z returns exp z 1 z hypergeom 1 2 2 3 Z returns 2 exp z 1 z z 2 hypergeom a z returns 1 z a hypergeom 1 z 2 4 returns besselj 0 z 3 61 ifourier Purpose Syntax Description 3 62 Inverse Fourier integral transform f ifourier F f ifourier F u f ifourier F v u f ifourier F is the inverse Fourier transform of the scalar symbolic object F with default independent variable w The default return is a function of x The inverse
6. a k ifourier ilaplace ztrans jacobian Purpose Jacobian matrix Syntax R jacobian w v Description jacobian w v computes the Jacobian of w with respect to v wis a symbolic scalar expression or a symbolic column vector v is a symbolic row vector The i j th entry of the result is dw i du Examples The statements w x y z y x z v x y z R jacobian w v b jacobian x z v return R y z x z x y 0 1 0 1 0 1 b 1 0 1 See Also diff 3 73 jordan Purpose Syntax Description Examples 3 74 Jordan canonical form J jordan A V J jordan A jordan A computes the Jordan canonical normal form of A where Ais a symbolic or numeric matrix The matrix must be known exactly Thus its elements must be integers or ratios of small integers Any errors in the input matrix may completely change the Jordan canonical form V J jordan A computes both J the Jordan canonical form and the similarity transform V whose columns are the generalized eigenvectors Moreover V A V u The statements A 1 3 2 1 1 E V J jordan A return A Gr 1 to 1 4 5 V Ao 1 1 0 1 0 J 3 0 0 0 2 1 0 0 2 Then the statement V A V returns jordan ans 3 0 0 o 2 1 o 8 2 See Also eig poly 3 75 lambertw Purpose Syntax Description Examples References 3 76 Lambert s W function Y lambertw X lambertw X evaluat
7. The simplify function is a powerful general purpose tool that applies a number of algebraic identities involving sums integral powers square roots and other fractional powers as well as a number of functional identities involving trig functions exponential and log functions Bessel functions hypergeometric functions and the gamma function Here are some examples f simplify f X x x 6 11 6 x 3 6 x 2 11 x 6 1 02 1 x x 1 1 a73 6 a72 12 a 8 1 3 2 a 1 73 a73 1 3 syms x y positive log x y log x 10g y exp x exp y exp x y besselj 2 x besselj 0 x 2 x besselj 1 x gamma x 1 x gamma x 0 cos x 2 sin x 2 1 simple The simple function has the unorthodox mathematical goal of finding a simplification of an expression that has the fewest number of characters Of course there is little mathematical justification for claiming that one expression is simpler than another just because its ASCII representation is shorter but this often proves satisfactory in practice The simple function achieves its goal by independently applying simplify collect factor and other simplification functions to an expression and keeping track of the lengths of the results The simple function then returns the shortest result The simple function has several forms each returning different output The form simple f Simplifications and Substitutions displays each trial simplification and the sim
8. V D P eig A lambda eig vpa A V D eig vpa A lambda eig A returns a symbolic vector containing the eigenvalues of the square symbolic matrix A V D eig A returns a matrix V whose columns are eigenvectors and a diagonal matrix D containing eigenvalues If the resulting V is the same size as A then A has a full set of linearly independent eigenvectors that satisfy A V V D V D P eig A also returns P a vector ofindices whose length is the total number of linearly independent eigenvectors so that A V V D P P lambda eig VPA A and V D eig VPA A compute numeric eigenvalues and eigenvectors respectively using variable precision arithmetic If A does not have a full set of eigenvectors the columns of V will not be linearly independent The statements R sym gallery rosser eig R return ans 0 1020 510 100 26 1 2 510 100 26 1 2 10 104057 1 2 10 10405 1 2 1000 1000 eig eig vpa R returns ans 1020 0490184299968238463137913055 56512999999999999999999999999800 28 98048640721516997177589097485157 e 1 1000 0000000000000000000000000002 1000 0000000000000000000000000003 1019 9019513592784830028224109024 1020 0000000000000000000000000003 1020 0490184299968238463137913055 The statements A sym gallery 5 v lambda eig A return vV 0 21 256 71 128 973 256
9. length ndims in the online MATLAB Function Reference solve Purpose Syntax Description Examples Symbolic solution of algebraic equations g solve eq g solve eq var g solve eq1 eq2 eqn g solve eq1 eq2 eqn var1 var2 varn Single Equation Expression The input to solve can be either symbolic expressions or strings If eq is a symbolic expression x 2 2 x 1 or a string that does not contain an equal sign x 2 2 x 1 then solve eq solves the equation eq 0 for its default variable as determined by findsym solve eq var solves the equation eq or eq 0 in the two cases cited above for the variable var System of Equations The inputs are either symbolic expressions or strings specifying equations solve eq1 eq2 eqn solves the system of equations implied by eq1 eq2 eqnin the n variables determined by applying findsym to the system Three different types of output are possible For one equation and one output the resulting solution is returned with multiple solutions for a nonlinear equation For a system of equations and an equal number of outputs the results are sorted alphabetically and assigned to the outputs For a system of equations and a single output a structure containing the solutions is returned For both a single equation and a system of equations numeric solutions are returned if symbolic solutions cannot be determined solve a x 2 b x c returns 1 2 a
10. y pi 4 ans 0 sin x sin y 1 2 2 1 2 Using Maple Functions A more efficient way to do this is to call Maple just once using the Maple map function The map function applies a Maple function to each element of an array In the sine calculation example this looks like function y sin2 x if prod size x 1 scalar case y maple sin x else array case y maple map sin x end Note that the sin2 function treats scalar and array cases differently It applies the map function to arrays but not to scalars This is because map applies a function to each operand of a scalar Because the sin2 function calls Maple only once it is considerably faster than the sini function which calls Maple prod size A number of times The map function can also be used for Maple functions that require multiple input arguments In this case the syntax is maple map Maple function sym array arg2 arg3 argn For example one way to call the collect M file is collect S x In this case the collect function collects all the coefficients with the same power of x for each element in S The core section of the implementation is shown below r maple map collect sym s sym x For additional information on the Maple map function type mhelp map 2 105 2 Using the Symbolic Math Toolbox Debugging The maple command provides two debugging facilities trace mode and a status output arg
11. 1 Legendre P n x Jacobi P n a b x a b are nonrational algebraic expressions or rational numbers greater than 1 Chebyshev of T n x the First and U n x Second Kind 3 93 mhelp Purpose Maple help Syntax mhelp topic mhelp topic Description mhelp topic and mhelp topic both return Maple s online documentation for the specified Maple topic Examples mhelp Bessell and mhelp Bessell both return Maple s online documentation for the Maple Besse1I function See Also maple 3 94 Purpose Syntax Description Examples See Also Basis for null space Z null A The columns of Z null A form a basis for the null space of A size Z 2 is the nullity of A A Z is zero If A has full rank Z is empty The statements A sym magic 4 Z null A A Z arithmetic operators colspace rank rref svd null in the online MATLAB Function Reference 3 95 numden Purpose Syntax Description Examples 3 96 Numerator and denominator N D numden A N D numden A converts each element of A to a rational form where the numerator and denominator are relatively prime polynomials with integer coefficients Ais a symbolic or a numeric matrix N is the symbolic matrix of numerators and D is the symbolic matrix of denominators n d numden sym 4 5 returns n 4andd 5 n d numden x y y x returns n x 2 y 2 d y x The statements A a 1 b
12. 6 4 2 0 2 4 6 The preceding analysis shows that the actual range of f x is 4 1 0051 Integrating To see whether integrating CG twice with respect to x recovers the original function f x 1 5 4cosx enter the command g int int f2 Calculus which returns g e 8 tan 1 2 x 2 9 This is certainly not the original expression for f x Now look at the difference fix 8 x d f g pretty d tan 1 2 x 9 You can simplify this using simple d or simplify d Either command produces ans 1 This illustrates the concept that differentiating f x twice then integrating the result twice produces a function that may differ from f x by a linear function of x Finally integrate f x once more F int f The result E 2 3 atan 1 3 tan 1 2 x involves the arctangent function Note that F x is not an antiderivative of f x for all real numbers since it is discontinuous at odd multiples of 7 where tanx is singular You can see the gaps in F x in the following figure 2 35 2 Using the Symbolic Math Toolbox 2 36 ezplot F 2 3 atan 1 3 tan 1 2 x To change F x into a true antiderivative of f x that is differentiable everywhere you can add a step function to F x The height of the steps is the height of the gaps in the graph of F x You can determine the height of the gaps by taking the limits of F x as x approaches m from the left and from the
13. Access To Maple maple mapleinit mfun mhelp mfunlist procread Access Maple kernel Initialize Maple Numeric evaluation of Maple functions Maple help List of functions for mfun Install a Maple procedure Functions By Category Pedagogical and Graphical Applications ezcontour Contour plotter ezcontourf Filled contour plotter ezmesh Mesh plotter ezmeshc Combined mesh and contour plotter ezplot Function plotter ezplot3 3 D curve plotter ezpolar Polar coordinate plotter ezsurf Surface plotter ezsurfc Combined surface and contour plotter funtool Function calculator rsums Riemann sums taylortool Taylor series calculator Conversions char Convert sym object to string double Convert symbolic matrix to double poly2sym Function calculator sym2poly Symbolic polynomial to coefficient vector Basic Operations ccode C code representation of a symbolic expression conj Complex conjugate findsym Determine symbolic variables fortran Fortran representation of a symbolic expression imag Imaginary part of a complex number 3 5 3 Function Reference 3 6 latex pretty real sym syms LaTeX representation of a symbolic expression Pretty print a symbolic expression Real part of an imaginary number Create symbolic object Shortcut for creating multiple symbolic objects Integral Transforms fourier ifourier ilaplace iztrans laplace ztrans Fourier transform Inverse Fourier transform Inve
14. Diffraction This example is from diffraction theory in classical electrodynamics J D Jackson Classical Electrodynamics John Wiley amp Sons 1962 Suppose you have a plane wave of intensity y and wave number k Assume that the plane wave is parallel to the xy plane and travels along the z axis as shown below This plane wave is called the incident wave A perfectly conducting flat diffraction screen occupies half of the xy plane that is x lt 0 The plane wave strikes the diffraction screen and you observe the diffracted wave from the line whose coordinates are x 0 Zo where zo gt 0 Zei Incident plane wave Diffraction screen Line of observation X9 0 2Z9 The intensity of the diffracted wave is given by I Aca 3 GER D 2 99 2 Using the Symbolic Math Toolbox 2 100 where _ k and C and S are the Fresnel cosine and sine integrals C G f cos 2 2 at 0 Se aal le 0 How does the intensity of the diffracted wave behave along the line of observation Since k and zg are constants independent of x you set LR E and assume an initial intensity of I 1 for simplicity The following code generates a plot of intensity as a function of x x 50 50 C mfun FresnelC x S mfun FresnelS x I0 1 T 0 1 2 2 S 1 2 2 I 10 2 T plot x 1 xlabel x ylabel I x title Intensity of Diffracted Wave Special Mathematical Fu
15. ezmeshc syms X y ezmeshc y 1 x 2 y 2 5 5 2 pi 2 pi Use the mouse to rotate the axes to better observe the contour lines this picture uses a view of azimuth 65 and elevation 26 vital Zi LE Le See Also ezcontour ezcontourf ezmesh ezplot ezplot3 ezpolar ezsurf ezsurfc meshc 3 39 ezplot Purpose Syntax Description Algorithm 3 40 Function plotter ezplot f ezplot f min max ezplot f xmin xmax ymin ymax ezplot x y ezplot x y tmin tmax ezplot figure ezplot f plots the expression f f x over the default domain 2r lt x lt 27 ezplot f xmin xmax plots f f x over the specified domain It opens and displays the result in a window labeled Figure No 1 If any plot windows are already open ezplot displays the result in the highest numbered window ezplot f xmin xmax fign opens if necessary and displays the plot in the window labeled fign For implicitly defined functions f f x y ezplot f plots f x y 0 over the default domain 27 lt x lt 2n 2T lt y lt 27 ezplot f xmin xmax ymin ymax plots f x y O over xmin lt x lt xmax and ymin lt y lt ymax ezplot f min max plots f x y 0 over min lt x lt max and min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezplot u 2 v 2 1 3 2 2 3
16. or a symbolic matrix The Zeta function is defined by 1 C w 2a k 1 zeta n X returns the n th derivative of zeta X Examples zeta 1 5 returns 2 6124 zeta 1 2 0 1 2 1 returns Columns 1 through 7 5 5916 3 9319 3 1055 2 6124 2 2858 2 0543 1 8822 Columns 8 through 10 1 7497 1 6449 1 5602 zeta x 2 4 x y returns zeta x 1 6 pi 2 1 90 pi 4 zeta x y diff zeta x x 3 returns zeta 3 x 3 130 ztrans Purpose z transform Syntax F ztrans f F ztrans f w F ztrans f k w Description F ztrans f is the z transform of the scalar symbol f with default independent variable n The default return is a function of z F Mm f F z The z transform of f is defined as oo A 0 where n is f s symbolic variable as determined by findsym If f f z then ztrans f returns a function of w F F w F ztrans f w makes F a function of the symbol w instead of the default z AOS ED a H F ztrans f k w takes f to be a function of the symbolic variable k Fw ER 0 w 3 131 ztrans Examples See Also 3 132 Z Transform MATLAB Operation 4 n fin Zif Y nie n 0 te 12 112 1 2 1 g z a Zlgl Y gtei z 0 f n sinan N gt l Y Dain n 0 wsina 2 1 2wcosa w f n 4 ztrans f returns z z 3 11 z 2 11 z 1 z 1 5 g a z simplify ztrans g returns w w a f sin a n ztr
17. produces a variable precision representation which is accurate to digits precision Hence S svd vpa A Linear Algebra computes the desired singular values to full accuracy With n 16 and digits 30 the result is 20968137605668985332455685357 69162158686066606774782763594 07790297231119748658424727354 13504054399744654843898901261 14106044663470063805218371924 14155754359918083691050658260 14159075458605848728982577119 14159256925492306470284863102 14159265052654880815569479613 14159265349961053143856838564 14159265358767361712392612384 14159265358975439206849907220 14159265358979270342635559051 14159265358979323325290142781 14159265358979323843066846712 14159265358979323846255035974 o OOOOH 00000 GO oO GO GO oO GO GO Go GM I There are two ways to compare S with pi the floating point representation of Tr In the vector below the first element is computed by subtraction with variable precision arithmetic and then converted to a double The second element is computed with floating point arithmetic format short e double pi ones 16 1 S pi double S 2 17 2 Using the Symbolic Math Toolbox 2 78 The results are 1 9319e 00 1 9319e 00 4 4997e 01 4 4997e 01 6 3690e 02 6 3690e 02 6 5521e 03 6 5521e 03 5 3221e 04 5 3221e 04 3 5110e 05 3 5110e 05 1 8990e 06 1 8990e 06 8 4335e 08 8 4335e 08 3 0632e 09 3 0632e 09 9 0183e 11
18. 0 4 5 w mfun Chi z which returns we 2 0303 1 72271 NaN 13 9658 mfun returns NaNs where the function has a singularity The hyperbolic cosine integral has a singularity at z 0 These special functions can be used with the mfun function e Airy Functions e Binomial Coefficients e Riemann Zeta Functions e Bernoulli Numbers and Polynomials e Euler Numbers and Polynomials 2 97 2 Using the Symbolic Math Toolbox 2 98 e Harmonic Function e Exponential Integrals e Logarithmic Integral e Sine and Cosine Integrals e Hyperbolic Sine and Cosine Integrals e Shifted Sine Integral e Fresnel Sine and Cosine Integral e Dawson s Integral e Error Function e Complementary Error Function and its Iterated Integrals e Gamma Function e Logarithm of the Gamma Function e Incomplete Gamma Function e Digamma Function e Polygamma Function e Generalized Hypergeometric Function e Bessel Functions e Incomplete Elliptic Integrals e Complete Elliptic Integrals e Complete Elliptic Integrals with Complementary Modulus e Beta Function e Dilogarithm Integral e Lamberts W Function e Dirac Delta Function distribution e Heaviside Function distribution The orthogonal polynomials listed below are available with the Extended Symbolic Math Toolbox e Gegenbauer e Hermite e Laguerre Special Mathematical Functions e Generalized Laguerre e Legendre e Jacobi e Chebyshev of the First and Second Kind
19. 01 Consequently the solution vector v x y 2 90 Solving Equations appears to have redundant components This is due to the first equation xy 0 which has two solutions in x and y x 0 y 0 Changing the equations to eqst x 2 y 2 1 x y 2 alpha x y solve eqs1 produces four distinct solutions xX 1 2 a1pha 1 2 alpha 2 2 1 2 1 2 alpha 1 2 alpha 2 2 1 2 1 2 alphat1 2 alpha 2 2 1 2 1 2 alpha 1 2 alpha 2 2 1 2 y c alpha alpha 2 2 1 2 alpha alpha 2 2 1 2 alpha alpha 2 2 1 2 alpha alpha 2 2 1 2 Since you did not specify the dependent variables solve uses findsym to determine the variables This way of assigning output from solve is quite successful for small systems Plainly if you had say a 10 by 10 system of equations typing x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 solve is both awkward and time consuming To circumvent this difficulty solve can return a structure whose fields are the solutions In particular consider the system u 2 v 2 a 2 u v 1 a 2 2 a 3 The command S solve u 2 v 2 a 2 u v 1 a 2 2 a 3 returns S a 2x1 sym u 2x1 sym v 2x1 sym The solutions for a reside in the a field of S That is 2 91 2 Using the Symbolic Math Toolbox S a produces ans 3 1 Similar comments apply to the solutions for u and v The structure S can
20. 3 y 3 enter maple gcd x 2 y 2 x 3 y 3 ans ytx To learn more about the function gcd you can bring up its reference page by entering doc gcd As an alternative to typing the maple command every time you want to access gcd you can write a simple M file that does this for you To do so first create the M file gcd in the subdirectory toolbox symbolic sym of the directory where MATLAB is installed and include the following commands in the M file function g gcd a b g maple gcd a b If you run this file syms x y z gcd x 2 y 2 x 3 y 3 w gcd 6 24 you get Using Maple Functions Z ytx w 6 Now extend the function so that you can take the gcd of two matrices in a pointwise fashion function g gcd a b if any size a size b error Inputs must have the same size end for k 1 prod size a g k maple gcd a k b k end g reshape g size a 2 103 2 Using the Symbolic Math Toolbox 2 104 Running this on some test data A sym 2 4 6 356 3 6 4 B sym 40 30 8 17 60 20 6 3 20 gcd A B you get the result n rn 9 S 2 1 3 oO aN ANN Vectorized Example Suppose you want to calculate the sine ofa symbolic matrix One way to do this is function y sin1 x for k 1 prod size x y k maple sin x k end y reshape y size x So the statements syms x y A 0 x y pi 4 sini A return A 0 x
21. 96 sin x 80 cos x 80 cos x 25 5 4 cos x Now to find the zeros of f x enter zeros solve f3 This returns a 5 by 1 symbolic matrix zeros atan 255 60 19 1 2 1 2 10 3 19 atan 255 60 19 1 2 1 2 10 3 19 10 3 19 1 2 10 3 19 1 2 atan 255 60 19 1 2 1 2 atan 255 60 19 1 2 1 2 1 1 2 1 each of whose entries is a zero of f x The commands format Default format of 5 digits zerosd double zeros convert the zeros to double form zerosd 0 0 2 4381i 0 2 4381i 2 4483 2 4483 2 30 2 pi pi Calculus So far you have found three real zeros and two complex zeros However as the following graph of f3 shows these are not all its zeros ezplot f3 hold on plot zerosd 0 zerosd ro Plot zeros plot 2 pi 2 pi 0 0 9 Plot x axis title Graph of f3 Graph of f3 The red circles in the graph correspond to zerosd 1 zerosd 4 and zerosd 5 As you can see in the graph there are also zeros at n The additional zeros occur because f x contains a factor of sin x which is zero at integer multiples of 7 The function solve sin x however only finds the zero at x 0 11 A complete list of the zeros of f x in the interval x 1 is zerosd zerosd 1 zerosd 4 zerosd 5 pi 2 31 2 Using the
22. Algebra The eigenvalues of A are the zeros of the characteristic polynomial of A det A x 1 which is computed by poly A The matrix H from the last section provides the first example H 8 9 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 The matrix is singular so one of its eigenvalues must be zero The statement T E eig H produces the matrices T and E The columns of T are the eigenvectors of H re 1 28 153 2 153 12589 1 2 28 153 2 153 12589 12 4 1 1 10 3 92 255 1 255 12589 1 2 292 255 1 255 12589 12 Similarly the diagonal elements of E are the eigenvalues of H E IO 0 0 0 32 45 1 180 12589 1 2 0 O 0 32 45 1 180 12589 1 2 It may be easier to understand the structure of the matrices of eigenvectors T and eigenvalues E if you convert T and E to decimal notation To do so proceed as follows The commands Td double T Ed double E return Td 1 0000 1 6497 1 2837 4 0000 1 0000 1 0000 3 3333 0 7051 1 5851 2 69 2 Using the Symbolic Math Toolbox Ed 0 0 0 0 1 3344 0 0 0 0 0878 The first eigenvalue is zero The corresponding eigenvector the first column of Td is the same as the basis for the null space found in the last section The other two eigenvalues are the result of applying the quadratic formula to x 2 64 45 x 253 2160 which is the quadratic factor in factor poly H syms x g simple factor poly H x solve g ans
23. R from 29 to 30 with the commands S R S 1 8 30 S 8 1 30 and then try p poly S you find p x 8 4040 x 7 5079941 x 6 82706090 x 5 5327831918568 x 4 4287832912719760 x 3 108269938841 1166000 x 2 51264008540948000 x 40250968213600000 You also find that factor p is p itself That is the characteristic polynomial cannot be factored over the rationals 2 71 2 Using the Symbolic Math Toolbox 2 72 For this modified Rosser matrix F eig S returns F 21803980548301606860857564424981 999 94691786044276755320289228602 1000 1206982933841335712817075454 1019 5243552632016358324933278291 1019 9935501291629257348091808173 1020 4201882015047278185457498840 17053529728768998575200874607757 1020 0532142558915165931894252600 Notice that these values are close to the eigenvalues of the original Rosser matrix Further the numerical values of F are a result of Maple s floating point arithmetic Consequently different settings of digits do not alter the number of digits to the right of the decimal place It is also possible to try to compute eigenvalues of symbolic matrices but closed form solutions are rare The Givens transformation is generated as the matrix exponential of the elementary matrix el The Symbolic Math Toolbox commands syms t A sym 0 1 1 0 G expm t A return cos t sin t sin t cos t Next the command g eig G produce
24. a o00 2 D ee 4 g w e oo Fig t ea PCS 2 Lei RI f x xe oo fiu fie da f exp x 2 fourier f returns pi 1 2 exp 1 4 w 2 g exp abs w fourier g returns 2 1 t 2 f x exp abs x fourier f u returns 4 i 1 u 2 2 u 3 55 fourier Fourier Transform MATLAB Command SE nl sinv f x v e Se real Figeite f fee ve dv oo ten 2 atan x x syms x real f exp x 2 abs v sin v v fourier f v u returns atan u 1 x 2 t atan u 1 x 2 See Also ifourier laplace ztrans 3 56 funtool Purpose Syntax Description Function calculator funtool funtool is a visual function calculator that manipulates and displays functions of one variable At the click of a button for example funtool draws a graph representing the sum product difference or ratio of two functions that you specify funtool includes a function memory that allows you to store functions for later retrieval At startup funtool displays graphs of a pair of functions f x x and g x 1 The graphs plot the functions over the domain 2 pi 2 pi funtool also displays a control panel that lets you save retrieve redefine combine and transform f and g Figure No 3 olx A el a lei ef e 0 0 0 2 va 0 0 0 0 o e e e sl Text Fields The top of the control pa
25. and Im a lt 0 The condition csgn a 1 corresponds to the shaded region of the complex plane shown in the following figure Region corresponding to csgn a 1 The square root of a in the answer is the unique square root lying in the shaded region Symbolic Summation You can compute symbolic summations when they exist by using the symsum command For example the p series bt 2 3 sums to 12 6 while the geometric series 2 17 2 Using the Symbolic Math Toolbox 1l x x SE sums to 1 1 x provided x lt 1 Three summations are demonstrated below syms x k si symsum 1 k 2 1 inf s2 symsum x k k 0 inf s1 1 6 pi 2 s2 1 x 1 Taylor Series The statements syms x f 1 5 4 cos x T taylor f 8 return T 1 94 2 81 x 2 5 1458 x 4 49 131220 x 6 which is all the terms up to but not including order eight in the Taylor series for f x PA a a ae Technically T is a Maclaurin series since its basepoint is a 0 The command pretty T 2 18 Calculus prints Tin a format resembling typeset mathematics 2 4 49 6 1 9 2 81 x 5 1458 x x 131220 These commands syms x g exp x sin x t taylor g 12 2 generate the first 12 nonzero terms of the Taylor series for g about x 2 Next plot these functions together to see how well this Taylor approximation compares to the actual function g xd 1 0 05 3 yd subs g x xd ezplot
26. e dx y 0 0 y m 0 SE lt xy x dx y 0 0 9 3 K 2 8 3 The Airy equation dsolve D2y x y y 0 0 besselk 1 3 2 sqrt 3 pi y 3 x The Airy function plays an important role in the mathematical modeling of the dispersion of water waves It is a nontrivial exercise to show that the Fourier transform of the Airy function is exp iw 3 2 96 Special Mathematical Functions Special Mathematical Functions Over fifty of the special functions of classical applied mathematics are available in the toolbox These functions are accessed with the mfun function which numerically evaluates a special function for the specified parameters This allows you to evaluate functions that are not available in standard MATLAB such as the Fresnel cosine integral In addition you can evaluate several MATLAB special functions in the complex plane such as the error function For example suppose you want to evaluate the hyperbolic cosine integral at the points 2 1 0 and 4 5 First type help mfunlist to see the list of functions available for mfun This list provides a brief mathematical description of each function its Maple name and the parameters it needs From the list you can see that the hyperbolic cosine integral is called Chi and it takes one complex argument For additional information you can access Maple help on the hyperbolic cosine integral using mhelp Chi Now type z 2 i
27. file creating 1 14 mfun 2 97 3 84 mfunlist 3 85 mhelp 3 94 multiplication array 3 11 matrix 3 11 N null 3 95 null space 2 66 null space basis 3 95 numden 3 96 numeric symbolic expressions 1 9 O ordinary differential equations solving 3 26 orthogonal polynomials 2 98 3 92 P poly 2 69 3 97 poly2sym 3 98 polygamma function 2 98 polynomial discriminants 2 85 power array 3 12 matrix 3 12 pretty 3 99 example 2 18 procread 2 111 3 100 R rank 3 101 rational arithmetic 2 59 rational symbolic expressions 1 9 real 3 102 real property 1 10 real symbolic variables 1 10 reduced row echelon form 3 103 Riemann sums evaluating 3 104 Index Riemann Zeta function 2 97 3 130 right division array 3 11 matrix 3 11 Rosser matrix 2 70 rref 3 103 rsums 3 104 S shifted sine integral 2 98 simple 2 46 3 105 simplifications 2 41 simplify 2 46 3 106 simultaneous differential equations solving 2 95 simultaneous linear equations solving systems of 2 65 2 92 sine integral function 3 107 sine integrals 2 98 singular value decomposition 2 75 3 114 sinint 3 107 solve 2 89 3 109 solving equations 2 89 algebraic 2 89 3 109 ordinary differential 2 93 3 26 special functions 2 97 evaluating numerically 3 84 listing 3 85 spherical coordinates 2 6 subexpr 2 50 3 111 subexpressions 2 50 subs 2 52 3 112 substitutions 2 50 in symbolic expressions 3 112 summation symbolic 2 17 svd 2 76 3 114 sym 1 4 1
28. following statement inv genhilb 2 returns 3 69 3 t 2 2 t 3 t 2 t 4 t 3 t 2 t 4 t 3 12 4 t the symbolic inverse of the 2 by 2 Hilbert matrix See Also vpa Arithmetic Operations page 3 70 iztrans Purpose Syntax Description Examples Inverse z transform f iztrans F f iztrans F k f iztrans F w k f iztrans F is the inverse z transform of the scalar symbolic object F with default independent variable z The default return is a function of n 1 n 1 e f n Tri Fi dz n 1 2 where R is a positive number chosen so that the function F z is analytic on and outside the circle z R IfF F n iztrans returns a function of k f fk f iztrans F k makes f a function of k instead of the default n Here k is a scalar symbolic object f iztrans F w k takes F to be a function of w instead of the default findsym F and returns a function of k F F w gt f f k Inverse Z Transform MATLAB Operation f z E S f 2 z z 2 2 z 2 lim 1 nl iztrans f Z IfI zg fise dz z R returns n2 24n n 3 71 iztrans See Also 3 72 Inverse Z Transform MATLAB Operation gin E g n n 1 n 2 2 n 1 n 2n 1 t k 1 iztrans g Z ig 55 amn dn g In R returns 1 1 k z ees f 2 fe z z a irg 1 k 1 iztrans f k Z fl Oni foz dz ll R II Q returns
29. is a positive integer maple traceon or maple trace on causes all subsequent Maple statements and results to be printed maple traceoff or maple trace off turns this feature off Each of the following statements evaluate x to 100 digits maple evalf Pi 100 maple evalf Pi 100 maple evalf Pi 100 The statement result status maple BesselK 4 3 returns the following output because Maple s Besse1K function needs two input arguments 3 81 maple result Error in BesselK expecting 2 arguments got 1 status 2 The traceon command shows how Symbolic Math Toolbox commands interact with Maple For example the statements syms x v x 2 1 x 2 4 maple traceon or maple trace on w factor v return x 2 1 x 2 4 statement map ifactor array x 2 1 x 2 4 result Error in ifactor invalid arguments statement map factor array x 2 1 x 2 4 5 result matrix x 1 x 1 x 2 x 2 x 1 x 1 x 2 x 2 This example reveals that the factor statement first invokes Maple s integer factor ifactor statement to determine whether the argument is a factorable integer If Maple s integer factor statement returns an error the Symbolic Math Toolbox factor statement then invokes Maple s expression factoring statement See Also mhelp procread 3 82 mapleinit Purpose Syntax Description Initialize the Maple kernel mapleinit maple
30. of a in v with 10 10 S b 10 c 10 S b 10 c 1 b c S 10 c b c S 10 C 1 1 1 1 2 53 2 Using the Symbolic Math Toolbox 2 54 Notice however that the symbolic expression that S represents is unaffected by this substitution That is the symbol a in Sis not replaced by 10 The subs command is also a useful function for substituting in a variety of values for several variables in a particular expression For example suppose that in addition to substituting a 10 in S you also want to substitute the values for 2 and 10 for b and c respectively The way to do this is to set values for a b and c in the workspace Then subs evaluates its input using the existing symbolic and double variables in the current workspace In the example you first set a 10 b 2 c 10 subs S ans 8 To look at the contents of the workspace type whos which gives Name Size Bytes Class A 3x3 878 sym object E 3x3 888 sym object S 1x1 186 sym object a 1x1 8 double array ans 1x1 140 sym object b 1x1 8 double array c 1x1 8 double array V 3x3 982 sym object a b and c are now variables of class double while A E S and v remain symbolic expressions class sym If you want to preserve a b and c as symbolic variables but still alter their value within S use this procedure syms abc subs S a b c 10 2 10 ans 8 Typing whos reveals that a b and c remain 1 by 1 sym objects Simplif
31. pane 2 Click the sign next to Symbolic Math 3 Select Introduction 4 Click Run this demo in the right pane as shown in the following figure Using This Guide H A Symbolic Math 7 MEE G Command line demos 4 Calculus d Function Calculator Introduction symdemos Set up Symbolic Math Toolbox command line demos See also symcalcdemo funtool Run ei demo Preface Configuration Information To determine if the Symbolic Math Toolboxes are installed on your system go to the MATLAB prompt and type ver MATLAB displays information about the version of MATLAB you are running including a list ofinstalled add on products and their version numbers Check the list to see ifthe Symbolic Math Toolbox or the Extended Symbolic Math Toolbox appears For information about installing the toolbox refer to the MATLAB Installation Guide for your platform If you experience installation difficulties and have Web access look for the installation and license information at the MathWorks Web site http ww mathworks com support xii Getting Started This section introduces you to the Symbolic Math Toolbox and describes how to create and use symbolic objects The section covers the following topics Symbolic Objects p 1 2 Describes symbolic objects and how they differ from standard MATLAB data types Creating Symbolic Variables and How to create symbolic objects Expressions p 1 4 The subs Comma
32. plots f over the specified domain domain can be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezmesh u 2 v 3 0 1 3 6 plots u v over0 lt u lt 1 3 lt v lt 6 ezmesh x y z plots the parametric surface x x s t y y s t and z z s t over the square 2T lt s lt 2T 27 lt t lt 2T ezmesh x y z smin smax tmin tmax or ezmesh x y z min max plots the parametric surface using the specified domain ezmesh n plots fover the default domain using an n by n grid The default value for n is 60 ezmesh circ plots f over a disk centered on the domain This example visualizes the function _ EEN f x y xe ezmesh with a mesh plot drawn on a 40 by 40 grid The mesh lines are set to a uniform blue color by setting the colormap to a single color syms x y ezmesh x exp x 2 y 2 2 5 2 5 40 colormap 0 O 1 x exp x y 0 5 A CAS SS S NS SNS OS ESOS SSS PES SS MALL SS S See Also ezcontour ezcontourf ezmeshc ezplot ezplot3 ezpolar ezsurf ezsurfc mesh 3 37 ezmeshc Purpose Syntax Description Examples 3 38 Combined mesh contour plotter ezmeshc f ezmeshc f domain ezmeshc x y Z hy z smin sma
33. plots uz v2 1 0 over 3 lt u lt 2 2 lt uUu lt 8 ezplot x y plots the parametrically defined planar curve x x t and y y t over the default domain 0 lt t lt 2r ezplot x y tmin tmax plots x x t and y y t over tmin lt lt tmax ezplot figure plots the given function over the specified domain in the figure window identified by the handle figure If you do not specify a plot range ezplot samples the function between 2 pi and 2 pi and selects a subinterval where the variation is significant as the plot ezplot domain For the range ezplot omits extreme values associated with singularities Examples This example plots the implicitly defined function x2 y4 0 over the domain 27 27 syms x y ezplot x 2 y 4 3 41 ezplot The following statements syms xX ezplot erf x grid plot a graph of the error function See Also ezcontour ezcontourf ezmesh ezmeshc ezplot3 ezpolar ezsurf ezsurfc plot 3 42 ezplot3 Purpose Syntax Description Examples 3 D parametric curve plotter ezplot3 x y Z ezplot3 x y z tmin tmax ezplot3 animate ezplot3 x y z plots the spatial curve x x t y y t and z z t over the default domain 0O lt t lt 2T ezplot3 x y z tmin tmax plots the curve x x t y y t and z z t over the domain tmin lt t lt tmax ezplot3 animate produces an animated trace of the
34. positive you can declare a to be real with the following commands syms a real f exp a x 2 F int f x inf inf MATLAB returns E PIECEWISE 1 a 1 2 pi 1 2 signum a 1 Inf otherwise You can put this in a more readable form by entering pretty F signum a 1 2 15 2 Using the Symbolic Math Toolbox Inf otherwise The after a is simply a reminder that a is real and signum a is the sign of a So the integral is Ar Ja when ais positive just as in the preceding example and when a is negative You can also declare a sequence of symbolic variables w y x z to be real by entering syms w x y z real Integration with Complex Parameters To calculate the integral oo 2 0X e dx for complex values of a enter syms a x unreal f exp a x 2 F int f x inf inf Note that syms is used with the unreal option to clear the real property that was assigned to a in the preceding example see Clearing Variables in the Maple Workspace on page 1 11 The preceding commands produce is the complex output F PIECEWISE 1 a 1 2 pi 1 2 csgn a 1 Inf otherwise You can make this output more readable by entering pretty F 1 2 pi de a a csgn a 1 1 2 2 16 Calculus AAA Inf otherwise The expression csgn a complex sign of a is defined by o f if Re a gt 0 or Re a 0 and Im a gt 0 1 if Re a lt 0 or Re a 0
35. t 1 3 hold on plot xd yd r title Taylor approximation vs actual function legend Taylor Function 2 19 2 Using the Symbolic Math Toolbox Taylor approximation vs actual function T T T T T T Taylor Function Special thanks to Professor Gunnar B ckstr m of UMEA in Sweden for this example Calculus Example This section describes how to analyze a simple function to find its asymptotes maximum minimum and inflection point The section covers the following topics Defining the Function on page 2 20 Finding the Asymptotes on page 2 22 Finding the Maximum and Minimum on page 2 23 Finding the Inflection Point on page 2 25 Defining the Function The function in this example is 2 20 Calculus 2 3x 6x 1 f x E x x 8 To create the function enter the following commands syms x num 3 x 2 6 x 1 denom x 2 x 3 f num denom This returns f 3 x 2 6 x 1 x 2 x 3 You can plot the graph of f by entering ezplot f This displays the following plot 3 46 x 1 x x 3 2 21 2 Using the Symbolic Math Toolbox 2 22 Finding the Asymptotes To find the horizontal asymptote of the graph of f take the limit of f as x approaches positive infinity limit f inf ans 3 The limit as x approaches negative infinity is also 3 This tells you that the line y 3 is a horizontal asymp
36. the Maple source code pie H RR HH gt proc n pie n takes n steps of an arithmetic geometric mean algorithm for computing pi The result is a symbolic expression whose length roughly doubles with each step The number of correct digits in the evaluated string also roughly doubles with each step Example pie 5 is a symbolic expression with 1167 characters which when evaluated agrees with pi to 84 decimal digits local a b c d k t too Oo E e sqrt 1 2 1 4 1 for k from 1 to n do b a 2 sqrt a b atd c t d 2 on OTa Extended Symbolic Math Toolbox a b 2 4 c end Copy the source code and paste it into the MATLAB Editor Then save the file as pie srcin your Work directory Using the Extended Symbolic Math Toolbox the MATLAB statement procread pie src reads the specified file deletes comments and newline characters and sends the resulting string to Maple The MATLAB ans variable then contains a string representation of the pie src file You can access the pie function using the maple function The statement p maple pie 5 returns a string representing the solution that begins and ends with p 1 4 1 32 1 64 2 1 2 1 32 2 3 4 2 1 2 2 3 4 1 2 1 2 2 You can use the sym command to convert the string to a symbolic object The assignment to the variable b in the second executable line b sqrt 1 2 causes the entire computati
37. the latter two cases the Maple kernel will have to be reloaded in the MATLAB workspace This is inefficient and time consuming sym sym2poly Purpose Syntax Description Examples See Also Symbolic to numeric polynomial conversion c sym2poly s sym2poly returns a row vector containing the numeric coefficients of a symbolic polynomial The coefficients are ordered in descending powers of the polynomial s independent variable In other words the vector s first entry contains the coefficient of the polynomial s highest term the second entry the coefficient of the second highest term and so on The commands syms X U V sym2poly x 3 2 x 5 return 1 0 2 5 while sym2poly u 4 3 5 u 2 returns 1 0 5 0 3 and sym2poly sin pi 6 v exp 1 v 2 returns 2 7183 0 5000 0 poly2sym polyval in the online MATLAB Function Reference 3 119 symsum Purpose Syntax Description Examples 3 120 Symbolic summation symsum symsum symsum symsum s SN s a b s v a b 5 gt 5 gt 55 gt 5 I ra ee symsum s is the summation of the symbolic expression s with respect to its symbolic variable k as determined by findsym from 0 to k 1 symsum s v is the summation of the symbolic expression s with respect to the symbolic variable v from 0 to v 1 symsum s a b and symsum s v a b are the definite summations of the symbolic expression from v a to v b The commands syms kn x s
38. to X The dimensions of all other parameters depend on the Maple specifications for function You can access parameter information for Maple functions using one of the following commands help mfunlist mhelp function Maple evaluates function using 16 digit accuracy Each element of the result is a MATLAB numeric quantity Any singularity in function is returned as NaN mfun FresnelC 0 5 returns 0 0 7799 0 4883 0 6057 0 4984 0 5636 mfun Chi 3 i 0 returns 0 1196 1 5708i NaN mfunlist mhelp mfunlist Purpose Syntax Description Limitations See Also References Table Conventions List special functions for use with mfun mfunlist mfunlist lists the special mathematical functions for use with the mfun function The following tables describe these special functions You can access more detailed descriptions by typing mhelp function In general the accuracy of a function will be lower near its roots and when its arguments are relatively large Run time depends on the specific function and its parameters In general calculations are slower than standard MATLAB calculations mfun mhelp 1 Abramowitz M and Stegun I A Handbook of Mathematical Functions Dover Publications 1965 The following conventions are used in the following table unless otherwise indicated in the Arguments column x y real argument z 21 z2 complex argument m n integer argument 3 85 mfunlist Table 3 1 MFUN Spec
39. with rational coefficients If f cannot be factored over the rational numbers the result is f itself Here are several examples f factor f X 3 6 xX 24 11 X 6 x 1 x 2 x 3 X 3 6 x 24 11 x 5 X 3 6 X 2411 X 5 x 6 1 x 24 1 x 4 x 241 Here is another example involving factor It factors polynomials of the form x n 1 This code syms X n 1 9 p x n 1 f factor p p f returns a matrix with the polynomials in its first column and their factored forms in its second x 1 x 1 x 24 1 x 2 1 x 3 1 x 1 x 2 x 1 J x 4 1 x 4 1 x 5 1 x 1 x 4 x 3 x 2 x 1 x 6 1 x 2 1 x 4 x 2 1 x 7 1 x 1 1 x x 2 x 3 x 4 x 5 x 6 x 8 1 x 8 1 x 9 1 x 1 x 2 x 1 x 6 x 3 1 Simplifications and Substitutions As an aside at this point factor can also factor symbolic objects containing integers This is an alternative to using the factor function in the MATLAB specfun directory For example the following code segment end N factor N displays the factors of symbolic integers consisting of 1s 1 1 11 11 111 3 37 1111 11 101 11111 41 271 111111 3 7 11 13 37 1111111 239 4649 11111111 11 73 101 137 111111111 3 2 37 333667 1111111111 11 41 271 9091 11111111111 513239 21649 2 45 2 Using the Symbolic Math Toolbox 2 46 simplify
40. xii Getting Started Symbolic Objects 1 2 Creating Symbolic Variables and Expressions 1 4 The findsym Commande 1 6 The subs Commande 1 7 The Default Symbolic Variable o o o 1 8 Symbolic and Numeric Conversions 1 9 Constructing Real and Complex Variables 1 10 Creating Abstract Functions o oooooooooo o 1 11 Creating Symbolic Math Functions 1 14 Using Symbolic Expressions 0000 cee eee eee 1 14 Creating an M File ooooooooo ooooooooo 1 14 Contents ii Contents Using the Symbolic Math Toolbox Calculus ae AN dt ii 2 2 Differentiation in ia Led A ee oe 2 2 EU ii E ea 2 7 Tte eration ii ds a EEA E atas 2 10 Symbolic Summation 2 17 Taylor Series ci vase advk Ss uke ee ws Aah abe wth ea 2 18 Calculus sample 2 20 Extended Calculus Example 2 27 Simplifications and Substitutions 2 41 Simplifications 2 41 Substitutions s bh esis els a hea dis 2 50 Variable Precision Arithmetic oooo 2 58 Overview ad A i ew Bae AES 2 58 Example Using the Different Kinds of Arithmetic 2 59 Another Example ec a woke ay baa eee es 2 61 Linear Algebra iia ara we YA 2 A 2 63 Basic Algebraic Operation 2 63 Linear Algebraic Operations 0 0c cece e eee 2 64 BigenvaluGs 0 8 deel A O Re 2 68 Jordan Canonical Form 2 74 Singula
41. y2 ezcontourf requires a sym argument that expresses this function using MATLAB syntax to represent exponents natural logs etc This function is represented by the symbolic expression syms x y f 3 1 x 2 exp x 2 y 1 2 10 x 5 x 3 y 5 exp x 2 y 2 1 3 exp xt 1 2 y 2 3 34 ezcontourf For convenience this expression is written on three lines Pass the sym f to ezcontourf along with a domain ranging from 3 to 3 and specify a grid of 49 by 49 ezcontourf f 3 3 49 3 13 exp y 1 1 3 exp x 1 2y In this particular case the title is too long to fit at the top of the graph so MATLAB abbreviates the string See Also contourf ezcontour ezmesh ezmeshc ezplot ezplot3 ezpolar ezsurf ezsurfc 3 35 ezmesh Purpose Syntax Description Examples 3 36 3 D mesh plotter ezmesh ezmesh ezmesh ezmesh ezmesh ezmesh f f domain X Y Z X y Z smin smax tmin tmax or ezmesh x y z min max n Circ HA a ee ezmesh f creates a graph of f x y where f is a symbolic expression that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 22 Heu lt 27 MATLAB chooses the computational grid according to the amount of variation that occurs if the function fis not defined singular for points on the grid then these points are not plotted ezmesh f domain
42. 0 S 34 0 O 0 17 9 0 0 0 O V 500 500 671 500 500 224 500 500 224 500 500 671 coe digits eig vpa 224 671 671 224 o 4 47 0 224 671 671 224 0 0 0 835e 15 3 115 sym Purpose Syntax Description 3 116 Construct symbolic numbers variables and objects S sym A x sym x x sym x real x sym x unreal S sym A flag where flag is one of r d e or f S sym A constructs an object S of class sym from A If the input argument is a string the result is a symbolic number or variable If the input argument is a numeric scalar or matrix the result is a symbolic representation of the given numeric values x sym x creates the symbolic variable with name x and stores the result in x x sym x real also assumes that x is real so that conj x is equal to x alpha sym alpha andr sym Rho real are other examples x sym x unreal makes x a purely formal variable with no additional properties i e ensures that x is not real See also the reference pages on syms Statements like pi sym pi and delta sym 1 10 create symbolic numbers that avoid the floating point approximations inherent in the values of pi and 1 10 The pi created in this way temporarily replaces the built in numeric function with the same name S sym A flag converts a numeric scal
43. 0 0 Suppose A 3 b c 12 13 J y Z 3 21 diag diag A returns N NO diag A 1 returns b 3 See Also tril triu 3 22 diff Purpose Syntax Description Examples See also Differentiate diff S v diff S n diff S v n diff S differentiates a symbolic expression S with respect to its free variable as determined by findsym diff S v or diff S sym v differentiates S with respect to v diff S n for a positive integer n differentiates S n times diff S v n and diff S n v are also acceptable Assume syms x t Then diff sin x 2 returns 2 c0s x 2 x and diff t 6 6 returns 720 int jacobian findsym 3 23 digits Purpose Syntax Description Examples See Also 3 24 Set variable precision accuracy digits d d digits digits digits specifies the number of significant decimal digits that Maple uses to do variable precision arithmetic VPA The default value is 32 digits digits d sets the current VPA accuracy to d digits digits returns the current VPA accuracy If z 1 0e 16 x 1 0e 2 digits 14 then y vpa x z 1 uses 14 digit decimal arithmetic and returns y 1 0000000000000 Whereas digits 15 y vpa x z 1 used 15 digit decimal arithmetic and returns yos 1 00000000000001 double vpa double Purpose Syntax Description Examples See Also Convert symbolic
44. 2 a 3 81 1 2 1 3 1 2 1 3 1 2 1 6 108 12 12 a 3 81 1 2 1 3 2 a 108 12 12 a 3 81 1 2 1 3 1 12 108 12 12 a 3 81 1 2 1 3 a 108 12 12 a 3 81 1 2 1 3 1 2 1 3 1 2 1 6 108 12 12 a 3 81 1 2 y 1 3 2 a 108 12 12 a 3 81 1 2 1 3 2 50 Simplifications and Substitutions Use the pretty function to display s in a more readable form pretty s S 1 3 a 1 6 1 2 1 3 1 1 3 a 1 2 1 3 a Al 1 12 1 1 2i3 1 6 1 2 1 1 3 1 3 1 1 11 1 3 a 1 2 1 3 a Al 1 12 1 1 2i3 1 6 1 2 1 1 3 1 3 1 1 11 3 1 2 1 108 12 12 a 81 The pretty command inherits the n n an integer notation from Maple to denote subexpressions that occur multiple times in the symbolic object The subexpr function allows you to save these common subexpressions as well as the symbolic object rewritten in terms of the subexpressions The subexpressions are saved in a column vector called sigma Continuing with the example r subexpr s returns sigma 108 12 12 a 3 81 1 2 r 1 6 sigma 1 3 2 a sigma 1 3 1 12 sigma 1 3 a sigma 1 3 1 2 1i 3 1 2 1 6 sigma 1 3 2 a sigma 1 3 2 51 2 Using the Symbolic Math Toolbox 1 12 sigma 1 3 a sigma 1 3 1 2 i 3 1 2 1 6 sigma 1 3 2 a sigma
45. 2 sin t 2 The simple function A simple A uses a trigonometric identity to return the expected form by trying several different identities and picking the one that produces the shortest representation 2 63 2 Using the Symbolic Math Toolbox 2 64 A cos 2 t sin 2 t sin 2 t cos 2 t The Givens rotation is an orthogonal matrix so its transpose is its inverse Confirming this by I G G which produces I cos t 2 sin t 2 0 0 cos t 2 sin t 2 and then I simple I I 1 0 0 1 Linear Algebraic Operations The following examples show to do several basic linear algebraic operations using the Symbolic Math Toolbox The command H hilb 3 generates the 3 by 3 Hilbert matrix With format short MATLAB prints H 1 0000 0 5000 0 3333 0 5000 0 3333 0 2500 0 3333 0 2500 0 2000 The computed elements of H are floating point numbers that are the ratios of small integers Indeed H is a MATLAB array of class double Converting H to a symbolic matrix H sym H Linear Algebra gives 1 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 This allows subsequent symbolic operations on H to produce results that correspond to the infinitely precise Hilbert matrix sym hilb 3 not its floating point approximation hilb 3 Therefore inv H produces 9 36 30 36 192 180 30 180 180 and det H yields 1 2160 You can use the backslash operator
46. 5 1 10 1 12 3 116 sym2poly 3 119 symbolic expressions 2 89 C code representation of 3 14 creating 1 4 decimal 1 9 differentiating 3 23 expanding 3 31 factoring 3 50 finding variables in 3 51 floating point 1 9 Fortran representation of 3 53 integrating 3 68 LaTeX representation of 3 79 limit of 3 80 numeric 1 9 prettyprinting 3 99 rational 1 9 simplifying 3 105 3 106 3 111 substituting in 3 112 summation of 3 120 Taylor series expansion of 3 122 symbolic math functions creating 1 14 symbolic math programs debugging 2 106 writing 2 102 Symbolic Math Toolbox demo x symbolic matrix computing eigenvalue of 2 71 converting to numeric form 1 10 creating 1 12 differentiating 2 5 symbolic objects about 1 2 1 5 Index creating 3 116 3 118 symbolic polynomials converting to numeric form 3 119 creating from coefficient vector 3 98 Horner representation of 3 60 symbolic summation 2 17 2 18 symbolic variables clearing 3 118 complex 1 10 creating 1 4 real 1 10 syms 1 5 3 118 symsize 3 108 symsum 2 18 3 120 T taylor 2 18 3 122 Taylor series 2 18 Taylor series expansion 3 122 taylortool 3 125 trace mode 2 106 transpose array 3 12 matrix 3 12 tril 3 126 triu 3 127 V variable precision arithmetic 2 58 3 128 setting accuracy of 3 24 variable precision numbers 2 60 vpa 2 60 3 128 Z zeta 3 130 ztrans 3 131 z transform 3 131
47. 5 6 And also with the toolbox the statements digits 25 vpa 1 2 1 3 use variable precision arithmetic to return 8333333333333333333333333 The floating point operations used by numeric arithmetic are the fastest ofthe three and require the least computer memory but the results are not exact The number of digits in the printed output of MATLAB double quantities is controlled by the format statement but the internal representation is always the eight byte floating point representation provided by the particular computer hardware Variable Precision Arithmetic In the computation of the numeric result above there are actually three roundoff errors one in the division of 1 by 3 one in the addition of 1 2 to the result of the division and one in the binary to decimal conversion for the printed output On computers that use IEEE floating point standard arithmetic the resulting internal value is the binary expansion of 5 6 truncated to 53 bits This is approximately 16 decimal digits But in this particular case the printed output shows only 15 digits The symbolic operations used by rational arithmetic are potentially the most expensive ofthe three in terms of both computer time and memory The results are exact as long as enough time and memory are available to complete the computations Variable precision arithmetic falls in between the other two in terms of both cost and accuracy A global parameter set by the fun
48. 6 end 0 5 2 82 t 1e 006 Linear Algebra The bottom subplot shows the unperturbed polynomial with its three roots at 1 2 and 3 The middle subplot shows the first two roots approaching each other In the top subplot these two roots have become complex and only one real root remains The next statements compute and display the actual eigenvalues e eig A pretty e showing that e 2 and e 3 form a complex conjugate pair 1 3 1 1 6 1 1 213 1 1 6 1 1 213 2 492508 3 t 1 3 1 9 t rr 1 3 t 2 1 3 1 2 13 492508 3 t 1 3 1 9 t PAGA a saae pein tins 1 3t 2 1 3 1 H 21 1 2 1 3 492508 3 t 1 3 1 9 t 1 3 1 3 or l 1 3 1 2 13 492508 3 t 1 3 1 9 t Po SPO enee EE EE 1 3t 2 1 3 1 GAN 1 2 1 3 492508 3 t 1 3 1 9 t MER 3 l 1 3 1 2 83 2 Using the Symbolic Math Toolbox 2 84 2 3 3 1 2216286 t 3189393 t t 3 358392752910068940 t 2 4 1 2 1052829647418 t 181922388795 t 4432572 t 3 Next the symbolic representations of the three eigenvalues are evaluated at many values of t tvals 2 02 0 1 e 6 r size tvals 1 c size e 1 lambda zeros r c for k 1 c lambda k double subs e k t tvals end plot lambda tvals xlabel lambda ylabel t title Eigenvalue T
49. 9 d stands for decimal The number of digits is taken from the current setting of digits used by vpa Fewer than 16 digits loses some accuracy while more than 16 digits may not be warranted For example with digits 10 sym 4 3 d is 1 333333333 while with digits digits 20 sym 4 3 d is 1 3333333333333332593 which does not end in a string of 3 s but is an accurate decimal representation of the floating point number nearest to 4 3 digits double syms eps in the online MATLAB Function Reference 3 117 syms Purpose Syntax Description Examples See Also 3 118 Short cut for constructing symbolic objects syms argi arg2 syms arg1 arg2 real syms argi arg2 unreal syms argi arg2 is short hand notation for argi sym arg1 arg2 sym arg2 syms argi arg2 realis short hand notation for argi sym arg1 real arg2 sym arg2 real syms argi arg2 unreal is short hand notation for argi sym arg1 unreal arg2 sym arg2 unreal Each input argument must begin with a letter and can contain only alphanumeric characters syms x beta real is equivalent to x sym x real beta sym beta real To clear the symbolic objects x and beta of real status type syms x beta unreal Note clear x will not clear the symbolic object x of its status real You can achieve this using the commands syms x unreal or clear mex or clear all In
50. 9 A 3 80 maple td A diia 3 81 MADEM vs A ai Ai brisa a 3 83 PARUT ii ia dia 3 84 A ea gee cha E OWA ea ee wales dew Oa 3 85 Mhelp vita e MEN a ad e WEEN e 3 94 NU na a RA AAA aa 3 95 el Eet E air o sii 3 96 A Ae etka EA Eed beta ee A E 3 97 Poly Ls y soria in 3 98 DESEN A EE A a a 3 99 Procread decorado caros donas ge da 3 100 TAO E de de Gob degt e AE re 3 101 real EE EE daa de cee 3 102 RN 3 103 E rset E NN ee Oe he 3 104 Simple isis whi eee ta ei ae ii 3 105 SIMPLY css ANE Se ew eo Ag RP a we a eae ee 3 106 SI eee ee dech Ba NEEN eS EE 3 107 SZC AA dee PAIGE aati FAME E ean OUR bee Rene ake Rs 3 108 SOI 45 idee nerd bien deere deeds Ged i weg deg 3 109 Sheet Ae AE ds dls ds dida ge iia doable addy 3 111 SUDS A o as 3 112 E NN 3 114 SN Mesure lao dais aaa 3 116 SIMS ati dias dd ai islas 3 118 SyMZ poly si a da heey ee eR aaa 3 119 SYMSUM isce c235 e880 o ebb ees eee ea eda eee Reba E 3 120 Functions Alphabetical List taylor ia as hes AAA ds da 3 122 taylortool Lia a doo 3 125 E UE 3 126 VU A A A NEE eee 3 127 PA A a BE eS 3 128 EE 3 130 DAS A SR Ee Beie ANE E E 3 131 3 10 Arithmetic Operations Purpose Syntax Description Perform arithmetic operations on symbols A B A B A B A B A B A B A B A B AB A B A A Matrix addition A B adds A and B A and B must have the same dimensions unless one is scalar Matrix subtraction A Bsubtracts B from A A and B must have the
51. 9 0183e 11 2 1196e 12 2 1196e 12 3 8846e 14 3 8636e 14 5 3504e 16 4 4409e 16 5 2097e 18 0 3 1975e 20 0 9 3024e 23 0 Since the relative accuracy of pi is pi eps which is 6 9757e 16 either column confirms the suspicion that four of the singular values of the 16 by 16 example equal x to floating point accuracy Eigenvalue Trajectories This example applies several numeric symbolic and graphic techniques to study the behavior of matrix eigenvalues as a parameter in the matrix is varied This particular setting involves numerical analysis and perturbation theory but the techniques illustrated are more widely applicable In this example you consider a 3 by 3 matrix A whose eigenvalues are 1 2 3 First you perturb A by another matrix E and parameter t A gt A tE Ast increases from 0 to 10 the eigenvalues 11 1 43 2 Ag 3 change to i 1 5596 0 27267 o 1 5596 0 27267 g 2 8808 Linear Algebra T T 0 3 Xa x 0 2 J Dir J M1 M2 M3 Dr x 0 4 A 01 J 0 2 x D r 2 2 e 1 f f f f 1 0 0 5 1 15 2 25 3 3 5 This in turn means that for some value of t 1 0 lt 1 lt 10 8 the perturbed matrix A t A tE has a double eigenvalue A The example shows how to find the value of t called t where this happens The starting point is a MATLAB test example known as gallery 3 A gallery 3 A 149 50 154 537 180 546 27 9 25 This is an example of a m
52. B differentiates with respect to use the findsym command findsym f 1 ans t To calculate the second derivative of f with respect to t enter diff f t 2 which returns ans sin s t s 2 Note that diff f 2 returns the same answer because t is the default variable More Examples To further illustrate the diff command define a b x n t and theta in the MATLAB workspace by entering Calculus syms a b x n t theta The table below illustrates the results of entering diff f f diff f x n x n n x sin a t b cos a t b a exp i theta i exp i theta In the first example MATLAB does not automatically simplify the answer To simplify the answer enter simplify diff x n ans x n 1 n To differentiate the Bessel function of the first kind besselj nu z with respect to z type syms nu z b besselj nu z db diff b which returns db besselj nu 1 z nu z besselj nu z The diff function can also take a symbolic matrix as its input In this case the differentiation is done element by element Consider the example syms a x A cos a x sin a x sin a x cos a x which returns A cos a x sin a x sin a x cos a x The command 2 Using the Symbolic Math Toolbox diff A returns ans sin a x a cos a x a cos a x a sin a x a You can also perform differentiation of a column vector with respect to a row vector Consider the transforma
53. B removes the previously defined expression from the variable For example syms a b f atp returns f atb If you then enter 1 5 T Geri ng Started 1 6 syms f f MATLAB returns f f You can use the syms command to clear variables of definitions that you assigned to them previously in your MATLAB session However syms does not clear the properties of the variables in the Maple workspace See Clearing Variables in the Maple Workspace on page 1 11 for more information The findsym Command To determine what symbolic variables are present in an expression use the findsym command For example given the symbolic expressions f and g defined by syms abnt xz f x n g sin a t b you can find the symbolic variables in f by entering findsym f ans n X Similarly you can find the symbolic variables in g by entering findsym g ans a b t The subs Command The subs Command You can substitute a numerical value for a symbolic variable using the subs command For example to substitute the value x 2 in the symbolic expression f 2 x 2 3 x 1 enter the command subs f 2 This returns 2 ans 3 Note To substitute a matrix A into the symbolic expression f use the command polyvalm sym2poly f A which replaces all occurrences of x by A and replaces the constant term of f with the constant times an identity matrix When your expression contains more than one
54. F a function of w instead of the default variables s and t respectively oo L z Fwye dw 0 3 77 laplace Examples See Also 3 78 Laplace Transform MATLAB Command f t LI foe ae 0 24 ge S 1 g s E oo Lien fase de 0 G t f t e at LIf x foe ae 0 R Q fia 4 laplace f returns 24 s 5 g 1 sqrt s laplace g returns pi t 1 2 f exp a t laplace f x returns 1 x a fourier ilaplace ztrans latex Purpose Syntax Description Examples See Also LaTeX representation of a symbolic expression latex S latex S returns the LaTeX representation of the symbolic expression S The statements syms x f taylor log 1 x latex f return X 1 2 X 2 41 3 xX 7 3 1 4 x 7 4 4 1 5 x 5 The statements H sym hilb 3 latex H return left begin array ccc 1 amp 1 2 amp 1 3 noalign medskip 1 2 amp 1 341 4 noalign medskip 1 3 amp 1 4 amp 81 5 end array right The statements syms alpha t A alpha t alpha t latex A return left begin array ccc alpha amp t amp alpha t end array right pretty ccode fortran 3 79 limit Purpose Syntax Description Examples See Also 3 80 Limit of a symbolic expression limit F x a limit F a limit F limit F x a right limit F x a left limit F x a take
55. For each polynomial in the array S of polynomials collect S collects terms containing the variable v or x if v is not specified The result is an array containing the collected polynomials The following statements syms X y R1 collect exp x x x 2 R2 collect xty x 2 y 2 1 y R3 collect x 1 y 1 x y return R1 x 2 exp x 2 x 2 exp x R2 y 3 x y 2 x 2 1 y x x 2 1 R3 y 1 x y 1 x y expand factor simple simplify syms 3 15 colspace Purpose Basis for column space Syntax B colspace A Description colspace A returns a matrix whose columns form a basis for the column space of A Ais a symbolic or numeric matrix Note that size colspace A 2 returns the rank of A Examples The statements A sym 2 0 3 4 0 5 B colspace A return A 2 0 3 4 0 5 B 1 0 0 11 15 8 5 4 See Also null orth in the online MATLAB Function Reference 3 16 compose Purpose Syntax Description Examples See Also Functional composition compose f g compose f g Z compose f g x Z compose f g X y Z compose f g returns f g y where f f x andg g y Here x is the symbolic variable of f as defined by findsym and y is the symbolic variable of g as defined by findsym compose f g z returns f g z where f f x g g y and x and y are the symbolic variables of f and g as defined by findsynm compose f g x z returns f g Z
56. Fourier transform is applied to a function of w and returns a function of x F F w gt f f x IfF F x ifourier returns a function of t f ft By definition f x 1 2n f F w e dw f ifourier F 7 makes f a function of u instead of the default x fu 1 2n j F w e dw Here u is a scalar re object f ifourier F v u takes F to be a function of v and f to be a function of u instead of the default w and x respectively fu 1 2m Foyeivudo o0 ifourier Examples Inverse Fourier Transform MATLAB Command w 4a f w e oo F ei Awe dw oo a ax e JT g a e FIO gone dx T 1 fw 2e 4 F f t fwye dw _ 2 n8 t 1 T syms a real f exp w 2 4 a 2 F ifourier f F simple F returns a exp x 2 a 2 pi 1 2 g exp abs x ifourier g returns 1 14 t 2 pi f 2 exp abs w 1 simple ifourier f t returns 2 pi Dirac t 1 t 2 pi 3 63 ifourier Inverse Fourier Transform MATLAB Command w v sin v w real f w v e oo FONO Aw ve dv o00 H t 1 zz atan gt atan w w syms w real f exp w 2 abs v sin v v ifourier f v t returns 1 2 atan t 1 w 2 atan 1 t w 2 pi See Also fourier ilaplace iztrans 3 64 ilaplace Purpose Syntax Description Inverse Laplace transfor
57. Part 252 227 7013 and DFARS Part 252 227 7014 The terms and conditions of The MathWorks Inc Software License Agreement shall pertain to the government s use and disclosure of the Program and Documentation and shall supersede any conflicting contractual terms or conditions If this license fails to meet the government s minimum needs or is inconsistent in any respect with federal procurement law the government agrees to return the Program and Documentation unused to MathWorks MATLAB Simulink Stateflow Handle Graphics and Real Time Workshop are registered trademarks and TargetBox is a trademark of The MathWorks Inc Other product or brand names are trademarks or registered trademarks of their respective holders Printing History August 1993 October 1994 First printing Second printing May 1997 Third printing Revised for Version 2 January 1999 Online only Updated for Release 11 May 2000 Reprinting Minor changes June 2001 Reprinting Minor changes July 2002 Online only Revised for Version 2 1 3 Release 13 October 2002 Online only Revised for Version 3 0 1 1 Preface What Are the Symbolic Math Toolboxes vi The Symbolic Math Toolboxes ooooooooo ooo vii Related Products viii Using This Guide uri a a ix Finding Help for Specific Topics 1x Using Command Line Help x ierg hase acai dda Eer ech Rom ene dat dab alton ceed ee dee Ate x Configuration Information
58. S findsym S returns all symbolic variables in S in alphabetical order separated by commas If S does not contain any variables findsym returns an empty string findsym S n returns the n variables alphabetically closest to x For single letter variables that are equally close to x in the alphabet findsym treats the letter that comes later in the alphabet as being closer findsym S 1 returns the variable closest to x This is the default symbolic variable when none is specified for the subs and diff commands Note A symbolic variable is an alphanumeric name other than i or j that begins with an alphabetic character syms ax yzt findsym sin pi t ans t findsym x i y j z ans X y Z findsym a y 1 returns y compose diff int limit taylor 3 51 finverse Purpose Syntax Description Examples See Also 3 52 Functional inverse finverse f g finverse f u Q l g finverse f returns the functional inverse of f f is a scalar sym representing a function of one symbolic variable say x Then g is a scalar sym that satisfies g f x x That is finverse f returns f provided f exists g finverse f v uses the symbolic variable v where v is a sym as the independent variable Then g is a scalar sym that satisfies g f v v Use this form when f contains more than one symbolic variable finverse 1 tan x returns atan 1 x finverse exp u 2 v u returns 2 v log
59. Symbolic Math Toolbox For Use with MATLAB Computation Visualization Programming User s Guide The MathWorks Version 3 How to Contact The MathWorks www mathworks com comp soft sys matlab support mathworks com suggest mathworks com bugs mathworks com doc mathworks com service mathworks com info mathworks com Web Newsgroup Technical support Product enhancement suggestions Bug reports Documentation error reports Order status license renewals passcodes Sales pricing and general information 508 647 7000 Phone 508 647 7001 Fax The MathWorks Inc Mail 3 Apple Hill Drive Natick MA 01760 2098 For contact information about worldwide offices see the MathWorks Web site Symbolic Math Toolbox User s Guide COPYRIGHT 1993 2002 by The MathWorks Inc The software described in this document is furnished under a license agreement The software may be used or copied only under the terms of the license agreement No part of this manual may be photocopied or repro duced in any form without prior written consent from The MathWorks Inc FEDERAL ACQUISITION This provision applies to all acquisitions of the Program and Documentation by or for the federal government of the United States By accepting delivery of the Program the government hereby agrees that this software qualifies as commercial computer software within the meaning of FAR Part 12 212 DFARS Part 227 7202 1 DFARS Part 227 7202 3 DFARS
60. Symbolic Math Toolbox You can display these zeros on the graph of f x with the following commands ezplot f3 hold on plot zerosd 0 zerosd ro plot 2 pi 2 pi 0 0 g Plot x axis title Zeros of f3 hold off Zeros of f3 Finding the Maxima and Minima of f2 To find the maxima and minima of f x calculate the value of f x at each of the zeros of f x To do so substitute zeros into f2 and display the result below zeros zerosd subs f2 zerosd ans 0 2 4483 2 4483 3 1416 0 0494 1 0051 1 0051 4 0000 2 32 Calculus This shows the following e f x has an absolute maximum at x 2 4483 whose value is 1 0051 e f x has an absolute minimum at x 1 whose value is 4 e f x has a local minimum at x 1 whose value is 0 0494 You can display the maxima and minima with the following commands clf ezplot f2 axis 2 pi 2 pi 4 5 1 5 ylabel f2 title Maxima and Minima of f2 hold on plot zeros subs f2 zeros ro text 4 1 25 Absolute maxim m text 1 0 25 Local minimum text p 1 25 Absolute maximum text 1 6 4 25 Absolute minimum hold ats 2 33 2 Using the Symbolic Math Toolbox 2 34 This displays the following figure Maxima and Minima of f2 Absolute maximum Absolute maximum YN Ao OF J Local minimum atk J N 2L 4 3 4 AL J Absolute minimum
61. a in calculus is to make calculations on functions as a variable gets close to or approaches a certain value Recall that the definition of the derivative is given by a limit 2 7 2 Using the Symbolic Math Toolbox f x lim DST Dei h gt 0 h provided this limit exists The Symbolic Math Toolbox enables you to calculate the limits of functions directly The commands syms hn x limit cos x h cos x h h 0 which return ans sin x and limit 1 x n n n inf which returns ans exp x illustrate two of the most important limits in mathematics the derivative in this case of cos x and the exponential function One Sided Limits You can also calculate one sided limits with the Symbolic Math Toolbox For example you can calculate the limit of x x whose graph is shown in the following figure as x approaches 0 from the left or from the right Calculus x abs x 1 ka 0 5F J OF J 0 5 J A 4 1 0 5 0 0 5 1 To calculate the limit as x approaches 0 from the left o ox lim x gt 0 D enter limit x abs x x 0 left This returns ans 1 To calculate the limit as x approaches 0 from the right lim 1 x gt 0 x enter limit x abs x x 0 right 2 9 2 Using the Symbolic Math Toolbox 2 10 This returns ans 4 Since the limit from the left does not equal the limit from the right the two sided limit does not exist In the case of unde
62. and makes x the independent variable for f That is iff cos x t then compose f g x z returns cos g z t whereas compose f g t z returns cos x g z compose f g x y z returns f g z and makes x the independent variable for f and y the independent variable for g For f cos x t and g sin y u compose f g x y z returns cos sin z u t whereas compose f g x u z returns cos sin y z t Suppose syms x y z t u f 1 1 x 2 g sin y h x t p exp y u Then compose f g gt 1 1 sin y 2 compose f g t gt 1 1 sin t 2 compose h g x Z gt sin z t compose h g t z gt x sin z compose h p x y Z gt exp z u t compose h p t u z gt x exp y z finverse subs syms conj Purpose Symbolic conjugate Syntax conj X Description conj X is the complex conjugate of X For a complex X conj X real X i imag X See Also real imag 3 18 cosint Purpose Syntax Description Examples See Also Cosine integral function Y cosint X cosint X evaluates the cosine integral function at the elements of X a numeric matrix or a symbolic matrix The cosine integral function is defined by Ci x y In x TEL a 0 where y is Euler s constant 0 577215664 cosint 7 2 returns 0 0960 cosint 0 0 1 1 returns Columns 1 through 7 Inf 1 7279 1 0422 0 6492 0 3788 0 1778 0 0223 Columns 8 through 11 0 1005 0 1983 0 2761 0 3374 The statements sy
63. ans f w returns w sin a w 2 2 w cos a 1 fourier iztrans laplace Symbols 3 11 3 11 3 11 3 11 3 11 3 11 3 12 3 12 3 11 sym directory 1 14 2 65 3 11 3 12 3 12 A abstract functions 1 11 Airy differential equation 2 96 Airy function 2 96 2 97 algebraic equations solving 3 109 arithmetic operations 3 11 left division array 3 11 matrix 3 11 matrix addition 3 11 matrix subtraction 3 11 multiplication array 3 11 matrix 3 11 power array 3 12 matrix 3 12 right division array 3 11 matrix 3 11 transpose array 3 12 matrix 3 12 B backslash operator 2 65 Bernoulli polynomials 2 97 Bessel functions 2 98 differentiating 2 5 integrating 2 13 besselj 2 5 besselk 2 96 beta function 2 98 binomial coefficients 2 97 C calculus 2 2 example 2 20 extended example 2 27 ccode 3 14 characteristic polynomial 2 69 2 71 3 97 Chebyshev polynomial 2 99 circulant matrix 1 12 2 52 clear 1 11 clearing variables Maple workspace 1 11 MATLAB workspace 1 11 3 118 collect 2 42 3 15 colspace 3 16 column space 2 66 complementary error function 2 98 complex conjugate 3 18 complex number imaginary part of 3 67 I 1 Index 1 2 real part of 3 102 complex symbolic variables 1 10 compose 3 17 conj 1 11 3 18 converting symbolic matrices to numeric form 1 10 cosine integral function 3 19 cosine integrals 2 98 cosint 3 19 D Dawson s integral 2 98 decimal symbolic ex
64. ar or matrix to symbolic form The technique for converting floating point numbers is specified by the optional second argument which can be f r e or d The default is r f stands for floating point All values are represented in the form 4 F 2 e or 1 F 2 e where Fis a string of 13 hexadecimal digits and e is an integer This captures the floating point values exactly but may not be convenient for subsequent manipulation For example sym 1 10 f is 4 999999999999a 2 4 because 1 10 cannot be represented exactly in floating point r stands for rational Floating point numbers obtained by evaluating expressions of the form p q p pi q sqrt p 2 q and 10 q for modest sized integers p and q are converted to the corresponding symbolic form This effectively compensates for the roundoff error involved in the original sym See Also evaluation but may not represent the floating point value precisely If no simple rational approximation can be found an expression of the form p 2 q with large integers p and q reproduces the floating point value exactly For example sym 4 3 r is 4 3 but sym 1 sqrt 5 r is 7286977268806824 2 51 e stands for estimate error The r form is supplemented by a term involving the variable eps which estimates the difference between the theoretical rational expression and its actual floating point value For example sym 3 pi 4 is 3 pi 4 103 eps 24
65. arious algebraic and trigonometric identities to transform one representation of a function into another possibly simpler representation These functions are collect expand horner factor simplify and simple collect The statement collect f views f as a polynomial in its symbolic variable say x and collects all the coefficients with the same power of x A second argument can specify the variable in which to collect terms ifthere is more than one candidate Here are a few examples y collect f x 1 02 x 3 MANTE x x x 6 11 6 x 3 6 x 2 11 x 6 1 x t x t OR Att Simplifications and Substitutions expand The statement expand f distributes products over sums and applies other identities involving functions of sums as shown in the examples below f expand f ax x y axx axy x 1 X 2 X 3 X 3 6 xX 24 11 xX 6 xX X X 6 11 6 X 3 6 xX 24 11 X 6 exp atb exp a exp b cos xty cos x cos y sin x sin y cos 3 acos x 4 xX 3 3 xX horner The statement horner Ff transforms a symbolic polynomial f into its Horner or nested representation as shown in the following examples f horner f X 3 6 x 2411 xX 6 6 11 6 x x x 1 1 2 2 x 3 3 x 2 11 10 11 5 33 10 x x 2 43 2 Using the Symbolic Math Toolbox 2 44 factor If f is a polynomial with rational coefficients the statement factor f expresses f as a product of polynomials of lower degree
66. atrix whose eigenvalues are sensitive to the effects of roundoff errors introduced during their computation The actual computed eigenvalues may vary from one machine to another but on a typical workstation the statements 2 79 2 Using the Symbolic Math Toolbox 2 80 format long e eig A produce Gi 1 00000000001122 1 99999999999162 2 99999999999700 Of course the example was created so that its eigenvalues are actually 1 2 and 3 Note that three or four digits have been lost to roundoff This can be easily verified with the toolbox The statements B sym A e eig B p poly B f factor p produce e 1 2 3 p x 3 6 x 2 11 x 6 f x 1 x 2 x 3 Are the eigenvalues sensitive to the perturbations caused by roundoff error because they are close together Ordinarily the values 1 2 and 3 would be regarded as well separated But in this case the separation should be viewed on the scale of the original matrix If A were replaced by A 1000 the eigenvalues which would be 001 002 003 would seem to be closer together But eigenvalue sensitivity is more subtle than just closeness With a carefully chosen perturbation of the matrix it is possible to make two of its eigenvalues coalesce into an actual double root that is extremely sensitive to roundoff and other errors Linear Algebra One good perturbation direction can be obtained from the outer product o
67. b b 2 4 a c 1 2 1 2 a b b 2 4 a c 1 2 solve a x 2 b x c b returns a x 24 c x S solve x y 1 x 11 y 5 returns a structure S with S y 1 3 S x 4 3 3 109 solve A solve a u 2 v 2 u v 1 returns A a 4x1 sym u 4x1 sym v 4x1 sym where A a 2 2 3 3 A u 1 3 1 3 i 2 1 2 1 3 1 3 1 2 1 2 1 4 1 4 1 3 1 2 1 4 1 4 i 3 1 2 A V 2 3 1 3 i 2 1 2 2 3 1 3 1i 2 1 2 3 4 1 4 1 3 1 2 3 4 1 4 1 3 1 2 See Also arithmetic operators dsolve findsym 3 110 subexpr Purpose Syntax Description Examples See Also Rewrite a symbolic expression in terms of common subexpressions Y SIGMA subexpr X SIGMA Y SIGMA subexpr X SIGMA Y SIGMA subexpr X SIGMA or Y SIGMA subexpr X SIGMA rewrites the symbolic expression X in terms of its common subexpressions These are the subexpressions that are written as 1 2 etc by pretty S The statements t solve a x 3 b x 2 c x d 0 r s subexpr t s return the rewritten expression for t in r in terms of a common subexpression which is returned in s pretty simple subs 3 111 subs Purpose Syntax Description Examples 3 112 Symbolic substitution in a symbolic expression or matrix R subs S R subs S new R subs S old new subs S replaces all occurrences o
68. calculator taylortool taylortool f taylortool initiates a GUI that graphs a function against the Nth partial sum of its Taylor series about a basepoint x a The default function value of N basepoint and interval of computation for taylortool are f x cos x N 7 a 0 and 2 pi 2 pi respectively taylortool f initiates the GUI for the given expression f taylortool exp x sin x taylortool sin tan x tan sin x funtool rsums 3 125 tril Purpose Syntax Description Examples See Also 3 126 Symbolic lower triangle tril X tril X K tril X is the lower triangular part of X tril X K returns a lower triangular matrix that retains the elements of X on and below the k th diagonal and sets the remaining elements to 0 The values k 0 k gt 0 and k lt 0 correspond to the main superdiagonals and subdiagonals respectively Suppose A a J b d c 1 2 3 a 1 b 2 c 3 Then tril A returns a 0 0 1 2 0 ant b 2 c 3 tril A 1 returns a b 0 1 2 3 ant b 2 c 3 tril A 1 returns 0 0 0 1 0 0 at1 b 2 O diag triu triu Purpose Syntax Description Examples See Also Symbolic upper triangle triu X triu X K triu X is the upper triangular part of X triu X K returns an upper triangular matrix that retains the elements of X on and above the k th diagonal and sets the remaining
69. ccess Maple Functions Similarly you can access Maple s factorial function k using sym kfac sym k To compute 6 or n type syms k n subs kfac k 6 subs kfac k n ans 720 ans n Example Creating a Symbolic Matrix A circulant matrix has the property that each row is obtained from the previous one by cyclically permuting the entries one step forward You can create the circulant matrix A whose elements are a b and c using the commands syms abc A ab c bca cab Symbolic and Numeric Conversions which return A a b c b c a c a b Since A is circulant the sum over each row and column is the same To check this for the first row and second column enter the command sum A 1 which returns ans a b c The command sum A 1 sum A 2 This is a logical test returns ans Now replace the 2 3 entry of A with beta and the variable b with alpha The commands syms alpha beta A 2 3 beta A subs A b alpha return A a alpha c alpha c beta C a alpha From this example you can see that using symbolic objects is very similar to using regular MATLAB numeric objects T Geri ng Started Creating Symbolic Math Functions There are two ways to create functions e Use symbolic expressions e Create an M file Using Symbolic Expressions The sequence of commands syms xX y Z r sqrt x 2 y 2 z 2 t atan y x f sin x y
70. ch element of the symbolic matrix S using Maple simplification rules simplify sin x 2 cos x 2 returns 1 simplify exp c log sqrt atb returns atb 1 2 c The statements S x 2 5 x 6 x 2 sqrt 16 R simplify S return R x 3 4 collect expand factor horner simple sinint Purpose Syntax Description Examples See Also Sine integral function Y sinint X sinint X evaluates the sine integral function at the elements of X a numeric matrix or a symbolic matrix The result is a numeric matrix The sine integral function is defined by sin 0 sinint pi 0 2 2 exp 3 returns 1 8519 0 1 6876 1 5522 sinint 1 2 returns 1 1080 diff sinint x returns sin x x cosint 3 107 size Purpose Syntax Description Examples See Also 3 108 Symbolic matrix dimensions d size A m n size A d size A n Suppose A is an m by n symbolic or numeric matrix The statement d size A returns a numeric vector with two integer components d m n The multiple assignment statement m n size A returns the two integers in two separate variables The statement d size A n returns the length ofthe dimension specified by the scalar n For example size A 1 is the number of rows of A and size A 2 is the number of columns of A The statements syms abcd A abc abd dcb cbal d size A r size A 2 return d 4 3 r 3
71. ct diagonals eig Eigenvalues and eigenvectors expm Matrix exponential inv Matrix inverse jordan Jordan canonical form null Basis for null space poly Characteristic polynomial rank Matrix rank rref Reduced row echelon form svd Singular value decomposition Functions By Category tril triu Simplification collect expand factor horner numden simple simplify subexpr Lower triangle Upper triangle Collect common terms Expand polynomials and elementary functions Factor Nested polynomial representation Numerator and denominator Search for shortest form Simplification Rewrite in terms of subexpressions Solution of Equations compose dsolve finverse solve Functional composition Solution of differential equations Functional inverse Solution of algebraic equations Variable Precision Arithmetic digits vpa Set variable precision accuracy Variable precision arithmetic Arithmetic Operations Addition Subtraction Multiplication 3 3 3 Function Reference 3 4 Array multiplication Right division Array right division Left division Array left division Matrix or scalar raised to a power Array raised to a power Complex conjugate transpose Real transpose Special Functions cosint hypergeom lambertw sinint zeta Cosine integral Ci x Generalized hypergeometric function Solution of Mayer x Sine integral Si x Riemann zeta function
72. ction digits controls the number of significant decimal digits Increasing the number of digits increases the accuracy but also increases both the time and memory requirements The default value of digits is 32 corresponding roughly to floating point accuracy The Maple documentation uses the term hardware floating point for what you are calling numeric or floating point and uses the term floating point arithmetic for what you are calling variable precision arithmetic Example Using the Different Kinds of Arithmetic Rational Arithmetic By default the Symbolic Math Toolbox uses rational arithmetic operations i e Maple s exact symbolic arithmetic Rational arithmetic is invoked when you create symbolic variables using the sym function The sym function converts a double matrix to its symbolic form For example if the double matrix is A 1 1000 1 2000 1 3000 2 1000 2 2000 2 3000 3 1000 3 2000 3 3000 2 59 2 Using the Symbolic Math Toolbox 2 60 its symbolic form S sym A is S 11 10 6 5 13 10 21 10 11 5 23 10 31 10 16 5 33 10 For this matrix A it is possible to discover that the elements are the ratios of small integers so the symbolic representation is formed from those integers On the other hand the statement E exp 1 1 sqrt 5 2 log 3 rand returns a matrix E 2 71828182845905 1 61803398874989 1 09861228866811 0 76209683302739 whose elemen
73. e decomposition and canonical forms of symbolic matrices Symbolic and numerical solutions to algebraic and differential equations Special functions of classical applied mathematics How to use the maple command to access Maple functions directly How to access all nongraphics Maple packages Maple programming features and Maple procedures 2 Using the Symbolic Math Toolbox Calculus The Symbolic Math Toolbox provides functions to do the basic operations of calculus The following sections describe these functions Differentiation on page 2 2 Limits on page 2 7 Integration on page 2 10 Symbolic Summation on page 2 17 Taylor Series on page 2 18 Calculus Example on page 2 20 Extended Calculus Example on page 2 27 Differentiation To illustrate how to take derivatives using the Symbolic Math Toolbox first create a symbolic expression syms x f sin 5 x The command diff f differentiates f with respect to x ans 5 cos 5 x As another example let g exp x cos x where exp x denotes e and differentiate g diff g ans exp x cos x exp x sin x To take the second derivative of g enter diff 9 2 Calculus ans 2 exp x sin x You can get the same result by taking the derivative twice diff diff g ans 2 exp x sin x In this example MATLAB automatically simplifies the answer However in some cases MATLAB might not si
74. e Also Create a surface contour plot of the expression f x l x y over the domain 5 lt x lt 5 2 pi lt y lt 2 pi with a computational grid of size 35 by 35 syms X y ezsurfc y 1 x 2 y 2 5 5 2 pi1 2 p1 35 Use the mouse to rotate the axes to better observe the contour lines this picture uses a view of azimuth 65 and elevation 26 yi 14x2 y ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurf surfc 3 49 factor Purpose Syntax Description Examples See Also 3 50 Factorization factor X factor can take a positive integer an array of symbolic expressions or an array of symbolic integers as an argument IfNis a positive integer factor N returns the prime factorization of N If Sis a matrix of polynomials or integers factor S factors each element If any element of an integer array has more than 16 digits you must use sym to create that element for example sym N factor x 3 y 3 returns X y x 2 x yty 2 factor a 2 b 2 a 3 b 3 returns a b atb atb a 2 a bt b 2 factor sym 12345678901234567890 returns 2 3 2 5 101 3803 3607 27961 3541 collect expand horner simplify simple findsym Purpose Syntax Description Examples See Also Finds the variables in a symbolic expression or matrix s l findsym S r findsym S n For a symbolic expression or matrix
75. e statement subs See Also y dsolve Dy a y produces y Ci exp a t Then the statement subs y produces ans 3 exp 980 t Single Substitution subs a b a 4 returns 4 b Multiple Substitutions subs cos a sin b a b sym alpha 2 returns cos alpha sin 2 Scalar Expansion Case subs exp a t a magic 2 returns exp t exp 3 t exp 4 t exp 2 t Multiple Scalar Expansion subs x y x y 0 1 1 0 1 1 2 1 returns 0 1 2 0 simplify subexpr 3 113 svd Purpose Syntax Description Examples 3 114 Symbolic singular value decomposition sigma svd A sigma svd vpa A U S V svd A U S V svd vpa A sigma svd A is a symbolic vector containing the singular values of a symbolic matrix A sigma svd vpa A computes numeric singular values using variable precision arithmetic U S V svd A and U S V svd vpa A return numeric unitary matrices U and V whose columns are the singular vectors and a diagonal matrix S containing the singular values Together they satisfy A U S V Symbolic singular vectors are not available The statements digits 3 A sym magic 4 svd A svd vpa A U S V svd A return 0 34 2 5 1 2 8 5 1 2 311e 6 i 4 47 17 9 34 1 svd See Also U 500 671 500 500 224 500 500 224 500 500 671 50
76. ed from t to some other symbolic variable by including that variable as the last input argument Initial conditions can be specified by additional equations If initial conditions are not specified the solutions contain constants of integration C1 C2 etc The output from dsolve parallels the output from solve That is you can call dsolve with the number of output variables equal to the number of dependent variables or place the output in a structure whose fields contain the solutions of the differential equations Example 1 The following call to dsolve dsolve Dy 1 y 2 uses y as the dependent variable and t as the default independent variable The output of this command is 2 93 2 Using the Symbolic Math Toolbox 2 94 ans tan t C1 To specify an initial condition use y dsolve Dy ity 2 y 0 1 This produces y tan t 1 4 pi Notice that y is in the MATLAB workspace but the independent variable t is not Thus the command diff y t returns an error To place t in the workspace type syms t Example 2 Nonlinear equations may have multiple solutions even when initial conditions are given x dsolve Dx 2 x 2 1 x 0 0 results in xX sin t sin t Example 3 Here is a second order differential equation with two initial conditions The commands y dsolve D2y cos 2 x y y 0 1 Dy 0 0 x simplify y produce ans 4 3 cos x 2 3 cos x 2 1 3 The key is
77. ed surface contour plotter ezsurfc f ezsurfc f domain ezsurfc X y z erre z smin smax tmin tmax or ezsurfc x y Z min max ezsurfc n ezsurfc circ ezsurfc f creates a graph of f x y where f is a symbolic expression that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 2r 2n lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs ifthe function fis not defined singular for points on the grid then these points are not plotted ezsurfc f domain plots f over the specified domain domain can be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezsurfc u 2 v 3 0 1 3 6 plots u2 v over0 lt u lt 1 3 lt v lt 6 ezsurfc x y z plots the parametric surface x x s t y y s t and z z s t over the square 2T lt s lt 2T 2n lt t lt 2n ezsurfc X y z smin smax tmin tmax or ezsurfc x y z min max plots the parametric surface using the specified domain ezsurfc n plots f over the default domain using an n by n grid The default value for n is 60 ezsurfc circ plots f over a disk centered on the domain ezsurfc Examples Se
78. el o0 lt q lt o0 k is real 0 lt k lt 1 3 90 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Incomplete Gamma Function Logarithm of the Gamma Function Logarithmic Integral GAMMA z1 z2 00 T a z fe z a 1 d dt INGAMMA Z InT z In T z Li x x gt 1 Li x PV E Ei Inx 0 3 91 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Polygamma Psi n z n20 Function Mg E y z dE y z where y z is the Digamma function Shifted Sine Ssi z Integral Ssi z Si z 5 Orthogonal The following functions require the Maple Orthogonal Polynomial Package Polynomials They are available only with the Extended Symbolic Math Toolbox Before 3 92 using these functions you must first initialize the Orthogonal Polynomial Package by typing maple with orthopoly Note that in all cases nis a non negative integer and x is real Table 3 2 Orthogonal Polynomials Polynomial Maple Name Arguments Gegenbauer G n a x ais a nonrational algebraic expression or a rational number greater than 1 2 Hermite H n x Laguerre L n x mfunlist Table 3 2 Orthogonal Polynomials Continued Polynomial Maple Name Arguments Generalized L n a x ais a nonrational algebraic Laguerre expression or a rational number greater than
79. elements to 0 The values k 0 k gt 0 and k lt 0 correspond to the main superdiagonals and subdiagonals respectively Suppose A a b c 1 2 3 a 1 b 2 c 3 Then triu A returns a b c 0 2 3 0 0 c 3 triu A 1 returns J b Cc 0 3 0 0 J ooo triu A 1 returns a b c 1 2 3 0 b 2 ct3 diag tril 3 127 vpa Purpose Syntax Description Examples 3 128 Variable precision arithmetic R vpa A R vpa A d vpa A uses variable precision arithmetic VPA to compute each element of A to d decimal digits of accuracy where d is the current setting of digits Each element of the result is a symbolic expression vpa A d uses d digits instead of the current setting of digits The statements digits 25 q vpa sin sym pi 6 p vpa pi w vpa 1 sqrt 5 2 return q 5000000000000000000000000 p 3 141592653589793238462643 w 618033988749894848204587 a vpa pi 75 computes 7 to 75 digits The statements A vpa hilb 2 25 B vpa hilb 2 5 return A 1 5000000000000000000000000 5000000000000000000000000 3333333333333333333333333 vpa B 1 50000 50000 33333 See Also digits double 3 129 zeta Purpose Riemann Zeta function Syntax Y zeta X Y zeta n X Description zeta X evaluates the Zeta function at the elements of X a numeric matrix
80. error is Array power A B is the matrix with entries A i j B i j Aand B must have the same dimensions unless one is scalar Matrix Hermition transpose If A is complex A is the complex conjugate transpose 5 Array transpose A is the real transpose of A A does not conjugate complex entries Examples The following statements syms abc d A a b c dl A A A A A A 2 return a b c d 0 0 0 0 The following statements syms ai1 a12 a21 a22 bi b2 A a11 a12 a21 a22 B b1 b2 X B A x1 X 1 x2 X 2 return x1 a21 b2 b1 a22 a11 a22 a12 a21 Arithmetic Operations See Also x2 a11 b2 a12 b1 ai1 a22 a12 a21 null solve 3 13 ccode Purpose Syntax Description Examples See Also 3 14 C code representation of a symbolic expression ccode s ccode s returns a fragment of C that evaluates the symbolic expression s The statements syms x f taylor log 1 x ccode f return tO x x x 2 0 x x x 3 0 x x x x 4 0 x x x x x 5 0 The statements H sym hilb 3 ccode H return H O 0 1 0 H 1 0 1 0 2 0 H 2 0 1 0 3 0 fortran latex pretty H O 1 H 1 1 H 2 1 e sch 7 o E Co oo H 0 2 H 1 2 H 2 2 1 0 3 0 1 0 4 0 1 0 5 0 collect Purpose Syntax Description Examples See Also Collect coefficients D l collect S R collect S v
81. es Lambert s W function at the elements of X a numeric matrix or a symbolic matrix Lambert s W solves the equation w we x for w as a function of x lambertw O exp 1 pi 1 returns 0 1 0000 1 0737 0 5671 The statements syms x y lambertw 0 x 1 y return 0 lambertw x lambertw 1 lambertw y 1 Corless R M Gonnet G H Hare D E G and Jeffrey D J Lambert s W Function in Maple Technical Report Dept of Applied Math Univ of Western Ontario London Ontario Canada 2 Corless R M Gonnet G H Hare D E G and Jeffrey D J On Lambert s W Function Technical Report Dept of Applied Math Univ of Western Ontario London Ontario Canada Both papers are available by anonymous FTP from cs archive uwaterloo ca laplace Purpose Syntax Description Laplace transform laplace F laplace F t fourier F w z L laplace F is the Laplace transform of the scalar symbol F with default independent variable t The default return is a function of s The Laplace transform is applied to a function of t and returns a function of s F F t gt L L s IfF F s laplace returns a function of t L L t By definition oo Lei Fe de 0 where t is the symbolic variable in F as determined by findsym L laplace F t makes L a function of t instead of the default s L t Fie Fax 0 Here L is returned as a scalar symbol L laplace F w z makes L a function of z and
82. es f x by f x a Replaces f x by f x a funtool See Also f x a Replaces f x by f x a The first four buttons of the third row replace f with a combination of f and g f g Replaces f x by f x g x Le Replaces f x by f x g x f g Replaces f x by f x g x fig Replaces f x by f x g x The remaining buttons on the third row interchange f and g g f Replaces g with f swap Replaces f with g and g with f The first three buttons in the fourth row allow you to store and retrieve functions from the calculator s function memory Insert Adds f to the end of the list of stored functions Cycle Replaces f with the next item on the function list Delete Deletes f from the list of stored functions The other four buttons on the fourth row perform miscellaneous functions Reset Resets the calculator to its initial state Help Displays the online help for the calculator Demo Runs a short demo of the calculator Close Closes the calculator s windows ezplot syms 3 59 horner Purpose Syntax Description Examples See Also 3 60 Horner polynomial representation R horner P Suppose P is a matrix of symbolic polynomials horner P transforms each element of P into its Horner or nested representation horner x 3 6 x 2 11 x 6 returns 6 11 6 x x x horner x 2 x y 3 2 y returns 1 x x 2 y 2 y expand factor simple simplify syms hypergeom
83. f the left and right eigenvectors associated with the most sensitive eigenvalue The following statement creates E 130 390 0 43 129 0 133 399 0 the perturbation matrix E 130 390 0 43 129 0 133 399 0 The perturbation can now be expressed in terms of a single scalar parameter t The statements syms x t A Att E replace A with the symbolic representation of its perturbation A 149 130 t 50 390 t 154 537 43 t 180 129 t 546 27 133 t 9 399 t 25 Computing the characteristic polynomial of this new A p poly A gives p x 3 6 x 2 11 x t x 2 492512 t x 6 1221271 t Prettyprinting pretty collect p x shows more clearly that p is a cubic in x whose coefficients vary linearly with t 3 2 x t 6 x 492512 t 11 x 6 1221271 t 2 81 2 Using the Symbolic Math Toolbox It turns out that when t is varied over a very small interval from 0 to 1 0e 6 the desired double root appears This can best be seen graphically The first figure shows plots of p considered as a function of x for three different values of t t 0 t 0 5e 6 and t 1 0e 6 For each value the eigenvalues are computed numerically and also plotted x 8 01 3 2 for k 0 2 c sym2poly subs p t k 0 5e 6 y polyval c x lambda eig double subs A t k 0 5e 6 subplot 3 1 3 k plot x y x 0 x lambda 0O lambda o axis 8 3 2 5 5 text 2 25 35 t num2str k 0 5e
84. f variables in the symbolic expression S with values obtained from the calling function or the MATLAB workspace subs S new replaces the default symbolic variable in S with new subs S old new replaces old with new in the symbolic expression S old is a symbolic variable or a string representing a variable name newis a symbolic or numeric variable or expression If old and new are cell arrays of the same size each element of 01d is replaced by the corresponding element of new IfS and old are scalars and new is an array or cell array the scalars are expanded to produce an array result If new is a cell array of numeric matrices the substitutions are performed elementwise De subs x y x y A B returns A B when A and B are numeric If subs s old new does not change s subs s new 0ld is tried This provides backwards compatibility with previous versions and eliminates the need to remember the order of the arguments subs s old new does not switch the arguments if s does not change Note If Ais a matrix the command subs S x A replaces all occurrences of the variable x in the symbolic expression S with the matrix A and replaces the constant term in S with the constant times a matrix of all ones To evaluate S in the matrix sense use the command polyvalm sym2poly S A which replaces the constant term with the constant times an identity matrix Single input Suppose a 980 and C1 3 exist in the workspace Th
85. fined limits MATLAB returns NaN not a number For example limit x abs x Xx 0 returns ans Nah Observe that the default case limit f is the same as limit f x 0 Explore the options for the limit command in this table where f is a function of the symbolic object x Mathematical Operation MATLAB Command lim f x limit f x gt 0 lim f x limit f x a or x gt a limit f a lim f x limit f x a left x gt a lim fx limit f x a right x gt a Integration If f is a symbolic expression then int Ff attempts to find another symbolic expression F so that diff F f That is int f returns the indefinite integral or antiderivative of f provided one exists in closed form Similar to differentiation Calculus int f v uses the symbolic object v as the variable of integration rather than the variable determined by findsym See how int works by looking at this table Mathematical Operation MATLAB Command qs int x n ICH _ i x n or n 1 int x n x 1 2 int sin 2 x 0 pi 2 or int j 2 0 1 2 f sin 2x dx 1 int sin 2 x x 0 p1 2 g cos at b g cos a t b int g or ede sin at b a int g t Jedz J z int besselj 1 z or int besselj 1 z z In contrast to differentiation symbolic integration is a more complicated task A number of difficulties can arise in computing the integral e The antiderivative F may not exist in closed form e The antiderivative
86. from the CD e The MathWorks Web site at http ww mathworks com see the products section Note The toolboxes listed below all include functions that extend the capabilities of MATLAB The blocksets all include blocks that extend the capabilities of Simulink Product Description Control System Toolbox Design and analyze feedback control systems Financial Toolbox Model financial data and develop financial analysis algorithms Optimization Toolbox Solve standard and large scale optimization problems viii Using This Guide Using This Guide This guide is divided into the following sections Getting Started on An introduction to the toolbox for new users page 1 1 A detailed description of how to use the toolbox Function Reference on Reference pages for the functions in the page 3 1 toolbox If you are new to the Symbolic Math Toolbox you should begin by reading Getting Started on page 1 1 If you are already familiar with the functionality of the toolbox you can proceed to Using the Symbolic Math Toolbox on page 2 1 Note Ifyou already have a copy of the Maple 8 library see the reference page for mapleinit before proceeding Finding Help for Specific Topics The are several ways to find help for specific features of the Symbolic Math Toolbox e Enter doc function at the MATLAB prompt where function is the name of the function you want help for This ope
87. g mhelp orthopoly Extended Symbolic Math Toolbox To load the package type maple with orthopoly This returns ans G H L P T U which is a listing of function names in the orthopoly package These functions are now loaded in the Maple workspace and you can use them as you would any regular Maple function Maple Packages The Extended Symbolic Math Toolbox contains the following packages of Maple functions e Combinatorial Functions e Differential Equation Tools e Differential Forms e Domains of Computation e Euclidean Geometry e Gaussian Integers e Gr bner Bases e Permutation and Finitely Presented Groups e Lie Symmetries e Boolean Logic e Graph Networks e Newman Penrose Formalism e Number Theory e Numerical Approximation e Orthogonal Polynomials e p adic Numbers e Formal Power Series e Projective Geometry e Simplex Linear Optimization 2 109 2 Using the Symbolic Math Toolbox 2 110 e Statistics e Total Orders on Names e Galois Fields e Linear Recurrence Relation Tools e Financial Mathematics e Rational Generating Functions e Tensor Computations Procedure Example The following example shows how you can access a Maple procedure through the Extended Symbolic Math Toolbox The example computes either symbolic or variable precision numeric approximations to 1 using a method derived by Richard Brent based from the arithmetic geometric mean algorithm of Gauss Here is
88. g Start with the symbolic expression f sym exp pi sqrt 163 The statement double f produces the printed floating point value ans 2 625374126407687e 017 Using the second argument of vpa to specify the number of digits vpa f 18 returns 262537412640768744 whereas 2 61 2 Using the Symbolic Math Toolbox 2 62 vpa f 25 returns 262537412640768744 0000000 you suspect that f might actually have an integer value This suspicion is reinforced by the 30 digit value vpa f 30 262537412640768743 999999999999 Finally the 40 digit value vpa f 40 262537412640768743 9999999999992500725944 shows that f is very close to but not exactly equal to an integer Linear Algebra Linear Algebra Basic Algebraic Operations Basic algebraic operations on symbolic objects are the same as operations on MATLAB objects of class double This is illustrated in the following example The Givens transformation produces a plane rotation through the angle t The statements syms t G cos t sin t sin t cos t create this transformation matrix G cos t sin t sin t cos t Applying the Givens transformation twice should simply be a rotation through twice the angle The corresponding matrix can be computed by multiplying G by itself or by raising G to the second power Both A G G and A G2 produce A cos t 2 sin t 2 2 cos t sin t 2 cos t sin t cos t
89. g code digits 24 s solve discrim tau vpa s tau 1970031 04061804553618914 783792490598e 6 1076924816047e 5 259079734916440764385242e 5 i 1076924816047e 5 259079734916440764385242e 5 i Linear Algebra Of the four solutions you know that tau tau 2 is the transition point tau 783792490602e 6 because it is closest to the previous estimate A more generally applicable method for finding qt is based on the fact that at a double root both the function and its derivative must vanish This results in two polynomial equations to be solved for two unknowns The statement sol solve p diff p x solves the pair of algebraic equations p 0 and dp dx O and produces sol t 4x1 sym x 4x1 sym Find t now by format short tau double sol t 2 which reveals that the second element of so1 t is the desired value of tT tau 7 8379e 07 Therefore the second element of sol x sigma double sol x 2 is the double eigenvalue sigma 1 5476 2 87 2 Using the Symbolic Math Toolbox 2 88 To verify that this value of does indeed produce a double eigenvalue at o 1 5476 substitute t for t in the perturbed matrix A t A tE and find the eigenvalues of A t That is eig double subs A t tau e e 1 5476 0 0000i 1 5476 0 0000i 2 9048 confirms that o 1 5476 is a double eigenvalue of A t for t 7 8379e 07 Solving Equations Solvi
90. he real solutions you can discard the last two entries which are complex numbers inflec_pt inflec_pt 1 To see the symbolic expression for the inflection point enter pretty simplify inflec_pt This returns 1 2 2 3 1 2 1 3 676 156 13 52 16 676 156 13 1 2 1 3 676 156 13 To plot the inflection point enter ezplot f 9 6 hold on plot double inflec_pt double subs f inflec_pt ro title Inflection Point of f text 7 2 Inflection point hold off The extra argument 9 6 in ezplot extends the range of x values in the plot so that you see the inflection point more clearly as shown in the following figure Calculus Inflection Point of f J 21 Inflection point 7 Extended Calculus Example This section presents an extended example that illustrates how to find the maxima and minima of a function The section covers the following topics Defining the Function on page 2 27 Finding the Zeros of f3 on page 2 29 Finding the Maxima and Minima of f2 on page 2 32 Integrating on page 2 34 Defining the Function The starting point for the example is the function DS SS 5 4cos x f x You can create the function with the commands syms x f 1 5 4 cos x 2 27 2 Using the Symbolic Math Toolbox 2 28 which return f 1 5 4 cos x The example shows how to find the maximum and minimum of the second der
91. ial Functions Function Name Definition mfun Name Arguments Bernoulli Generating functions bernoulli n n20 Numbers and bernoulli n t 0 lt t lt 27 Polynomials xt j n 1 e t t 5 B x gt T e 1 n n 0 Bessel Functions BesselI BesselJ Bessel BesselJ v x v is real functions of the first kind BesselY v x BesselK BesselY Bessel BesselI v x functions of the second kind BesselK v x Beta Function Beta x y Binomial Coefficients T x TO TCE GY a T m 1 Sens binomial m n 3 86 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Complete Elliptic Legendre s complete elliptic EllipticK k a is real Integrals integrals of the first second and EllipticE k 00 lt q lt oo third kind EllipticPi a k k is real O lt k lt 1 Complete Elliptic Associated complete elliptic EllipticCK k a is real Integrals with integrals of the first second and EllipticCE k BET lt Complementary third kind using complementary EllipticCPi a k k is real Modulus modulus O lt k lt 1 Complementary erfc z n gt 0 Error Function erfc n z and Its Iterated 9 A p Integrals erfe z amp fe dt 1 erf z Jr EI 2 ei erfc 1 2 e Jr erfc n z ferfe n 1 2 dt z Dawson s Integral dawson x x F x e Je dt 0 3 87 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfu
92. ic Math Toolbox 2 108 The Extended Symbolic Math Toolbox allows you to access all nongraphics Maple packages Maple programming features and Maple procedures The Extended Toolbox thus provides access to a large body of mathematical software written in the Maple language Maple programming features include looping for do od while do od and conditionals if elif else fi See The Maple Handbook for information on how to use these and other features This section explains how to load Maple packages and how to use Maple procedures For additional information consult these references 1 Schwarz David Introduction to Maple Prentice Hall 1999 2 Garvan Frank The Maple Book Chapman amp Hall CRC 2001 3 Wright Francis Computing with Maple Chapman Hall CRC 2001 Packages of Library Functions You can use specialized libraries or packages with the Extended Toolbox The available packages are listed in Maple Packages on page 2 109 You can use the Maple with command to load these packages For example if you want to use the orthogonal polynomials package first get the Maple name of this package using the statement mhelp index packages which returns Index of descriptions for packages of library functions Description The following packages are available orthopoly orthogonal polynomials You can then can access information about the package orthopoly by enterin
93. ications and Substitutions The subs command can be combined with double to evaluate a symbolic expression numerically Suppose you have the following expressions syms t M 1 t 2 exp 1 2 t 2 P 1 t 2 sech t and want to see how M and P differ graphically 2 55 2 Using the Symbolic Math Toolbox One approach is to type ezplot M hold on ezplot P hold off but this plot does not readily help us identify the curves 1 17 sech t 2 56 Simplifications and Substitutions Instead combine subs double and plot T 6 0 05 6 MT double subs M t T PT double subs P t T plot T MT b T PT r title legend M P xlabel t grid J to produce a multicolored graph that indicates the difference between M and P Finally the use of subs with strings greatly facilitates the solution of problems involving the Fourier Laplace or z transforms 2 57 2 Using the Symbolic Math Toolbox 2 58 Variable Precision Arithmetic Overview There are three different kinds of arithmetic operations in this toolbox Numeric MATLAB floating point arithmetic Rational Maple s exact symbolic arithmetic VPA Maple s variable precision arithmetic For example the MATLAB statements format long 1 2 1 3 use numeric computation to produce 0 83333333333333 With the Symbolic Math Toolbox the statement sym 1 2 1 3 uses symbolic computation to yield
94. imaginary part of a symbolic Z See Also conj real 3 67 Purpose Syntax Description Examples See Also 3 68 Integrate R int S R int S v R int S a b R int S v a b int S returns the indefinite integral of S with respect to its symbolic variable as defined by findsym int S v returns the indefinite integral of S with respect to the symbolic scalar variable v int S a b returns the definite integral from a to b of each element of S with respect to each element s default symbolic variable a and b are symbolic or double scalars int S v a b returns the definite integral of S with respect to v from a to b int 2 x 1 x 2 2 returns 1 1 x 2 int x 1 z 2 z returns x atan z int x log 1 x 0 1 returns 1 4 int 2 x sin t 1 returns 1 sin t 2 int exp t exp alpha t returns exp t 1 alpha exp alpha t diff symsum Purpose Syntax Description Examples Matrix inverse R inv A inv A returns inverse of the symbolic matrix A The statements A sym 2 1 0 1 2 1 0 1 121 inv A return 3 4 1 2 1 4 1 2 1 1 2 1 4 1 2 3 4 The statements syms abcd A a b c d inv A return d a d b c b a d b c c a d b c a a d b c Suppose you have created the following M file Generate a symbolic N by N Hilbert matrix function A genhilb N syms t for i 1 N for j 1 N A i j 1 i j t end end Then the
95. ing that represents 2 1 2 You can always obtain the numerical value of a symbolic object with the double command double a ans 1 4142 Notice that the result is indented which tells you it has data type double Symbolic results are not indented Symbolic Objects When you create a fraction involving symbolic objects MATLAB records the numerator and denominator For example sym 2 sym 5 ans 2 5 MATLAB performs arithmetic on symbolic objects differently than it does on standard data types If you add two fractions that are of data type double MATLAB gives the answer as a decimal fraction For example 2 5 1 3 ans 0 7333 If you add the same fractions as symbolic objects MATLAB finds their common denominator and combines them by the usual procedure for adding rational numbers sym 2 sym 5 sym 1 sym 3 ans 11 15 The Symbolic Math Toolbox enables you to perform a variety of symbolic calculations that arise in mathematics and science These are described in detail in Using the Symbolic Math Toolbox on page 2 1 T Geri ng Started Creating Symbolic Variables and Expressions The sym command lets you construct symbolic variables and expressions For example the commands D sym x a sym alpha create a symbolic variable x that prints as x and a symbolic variable a that prints as alpha Suppose you want to use a symbolic variable to represent the golden ratio EE P 2 The co
96. init determines the path to the directory containing the Maple Library loads the Maple linear algebra and integral transform packages initializes digits and establishes several aliases mapleinit is called by the MEX file interface to Maple You can edit the mapleinit M file to change the pathname to the Maple library You do this by changing the initstring variable in mapleinit mto the full pathname of the Maple library as described below UNIX Suppose you already have a copy of the Library for Maple 8 in the UNIX directory usr local Maple 1lib You can edit mapleinit m to contain maplelib usr local Maple lib and then delete the copy of the Maple Library that is distributed with MATLAB Microsoft Windows Suppose you already have a copy ofthe Library for Maple 8 in the directory C MAPLE LIB You can edit mapleinit m to contain maplelib C MAPLE LIB and then delete the copy of the Maple Library that is distributed with the Symbolic Math toolboxes 3 83 mfun Purpose Syntax Description Examples See Also 3 84 Numeric evaluation of Maple mathematical function Y mfun function par1 par2 par3 par4 mfun function par1 par2 par3 par4 numerically evaluates one of the special mathematical functions known to Maple Each par argument is a numeric quantity corresponding to a Maple parameter for function You can use up to four parameters The last parameter specified can be a matrix usually corresponding
97. ith multiple eigenvalues cannot be diagonalized The Jordan form has the eigenvalues on its diagonal but some of the superdiagonal elements are one instead of zero The statement J jordan A computes the Jordan canonical form of A The statement V J jordan A also computes the similarity transformation The columns of V are the generalized eigenvectors of A The Jordan form is extremely sensitive to perturbations Almost any change in Acauses its Jordan form to be diagonal This makes it very difficult to compute the Jordan form reliably with floating point arithmetic It also implies that A must be known exactly i e without round off error etc Its elements must be integers or ratios of small integers In particular the variable precision calculation jordan vpa A is not allowed For example let A sym 12 32 66 116 25 76 164 294 21 66 143 256 6 19 41 73 25 76 164 294 21 66 143 256 A 48 32 66 116 6 19 41 73 Linear Algebra Then V J jordan A produces V 4 2 4 3 6 8 11 8 4 7 10 7 1 2 3 2 J 1 1 0 0 0 1 0 0 0 0 2 1 0 0 0 2 Therefore A has a double eigenvalue at 1 with a single Jordan block and a double eigenvalue at 2 also with a single Jordan block The matrix has only two eigenvectors V 1 and V 3 They satisfy A V 1 1 1 V 1 A V 3 2 V 3 The other two colum
98. ivative of f x To compute the second derivative enter f2 diff f 2 which returns f2 32 5 4 cos x 3 sin x 2 4 5 4 cos x 2 cos x Equivalently you can type f2 diff f x 2 The default scaling in ezplot cuts off part of the graph of f2 You can set the axes limits manually to see the entire function ezplot f2 axis 2 pi 2 pi 5 2 title Graph of f2 Calculus Graph of f2 T 14 24 JH fi L fi fi From the graph it appears that the maximum value of f x is 1 and the minimum value is 4 As you will see this is not quite true To find the exact values of the maximum and minimum you only need to find the maximum and minimum on the interval Ga This is true because f x is periodic with period 27 so that the maxima and minima are simply repeated in each translation of this interval by an integer multiple of 21 The next two sections explain how to do find the maxima and minima Finding the Zeros of f3 The maxima and minima of f x occur at the zeros of f ee x The statements 3 diff f2 pretty f3 compute ZG and display it in a more readable form 3 sin x sin x cos x sin x 384 96 4 4 3 2 5 4 cos x 5 4 cos x 5 4 cos x 2 29 2 Using the Symbolic Math Toolbox You can simplify this expression using the statements f3 simple f3 pretty f3 2 2 sin x
99. j example it is possible to compute a numerical approximation to the value of the integral using the double function The commands syms Zz a int besselj 1 z 2 0 1 return a 1 12 hypergeom 3 2 3 2 2 5 2 3 1 and the command a double a returns a 0 0717 Integration with Real Parameters One of the subtleties involved in symbolic integration is the value of various parameters For example ifa is any positive real number the expression 2 ax e 2 13 2 Using the Symbolic Math Toolbox is the positive bell shaped curve that tends to 0 as x tends to too You can create an example of this curve for a 1 2 using the following commands syms x a sym 1 2 f exp a x 2 ezplot f exp 1 2 x However if you try to calculate the integral P ax e dx without assigning a value to a MATLAB assumes thata represents a complex number and therefore returns a complex answer If you are only interested in Calculus the case when a is a positive real number you can calculate the integral as follows syms a positive The argument positive in the syms command restricts a to have positive values Now you can calculate the preceding integral using the commands syms X f exp a x 2 int f x inf inf This returns ans 1 a 1 2 pi 1 2 If you want to calculate the integral co ax f e dx co for any real number a not necessarily
100. le is marketed and supported by Waterloo Maple Inc These versions of the Symbolic Math Toolboxes are designed to work with MATLAB 6 or greater and Maple 8 What Are the Symbolic Math Toolboxes The Symbolic Math Toolboxes There are two toolboxes e The basic Symbolic Math Toolbox is a collection of more than 100 MATLAB functions that provide access to the Maple kernel using a syntax and style that is a natural extension of the MATLAB language The basic toolbox also allows you to access functions in the Maple linear algebra package e The Extended Symbolic Math Toolbox augments this functionality to include access to all nongraphics Maple packages Maple programming features and user defined procedures With both toolboxes you can write your own M files to access Maple functions and the Maple workspace If you already have a copy of the Maple 8 library you can use it instead of the copy of the Maple Library that is distributed with the Symbolic Math toolboxes by changing the path to the library in the MATLAB M file mapleinit m See the reference page for mapleinit to learn how to do this vii Preface Related Products The MathWorks provides several products that are especially relevant to the kinds of tasks you can perform with the Symbolic Math Toolbox For more information about any of these products see either e The online documentation for that product if it is installed or if you are reading the documentation
101. m F ilaplace L F ilaplace L y F ilaplace L y x F ilaplace L is the inverse Laplace transform of the scalar symbolic object L with default independent variable s The default return is a function of t The inverse Laplace transform is applied to a function of s and returns a function of t L L s gt F F t IfL L t ilaplace returns a function of x F F x By definition ctio F t L s e ds C ioo where cis a real number selected so that all singularities of L s are to the left of the lines c i F ilaplace L y makes F a function of y instead of the default t joo Fiy Leds cuia Here y is a scalar symbolic object F ilaplace L y x takes F to be a function of x and L a function of y instead of the default variables t and s respectively C 100 F x Loe dy C io 3 65 ilaplace Examples Inverse Laplace Transform MATLAB Command f s a f 1 82 s C Io 1 1 st L ae ilaplace f Im 37 fei de c io returns t t 1 y a t S g 1 t a 2 t a C ico 1 1 xt 225 ilaplace Lig 5 ae dt place g c i returns xe x exp a x fu 1 syms x u 2 2 u a syms a real i ctio f 1 u 2 a 2 1 xu L If zg eedu SET simplify ilaplace f x _ sinh x al returns lal sinh x abs a abs a See Also ifourier iztrans laplace 3 66 imag Purpose Symbolic imaginary part Syntax imag Z Description imag Z is the
102. matrix to MATLAB numeric form R double S double S converts the symbolic object S to a numeric object If S is a symbolic constant or constant expression double returns a double precision floating point number representing the value of S If S is a symbolic matrix whose entries are constants or constant expressions double returns a matrix of double precision floating point numbers representing the values of S s entries double sym 1 sqrt 5 2 returns 1 6180 The following statements a sym 2 sqrt 2 b sym 1 sqrt 3 2 T a b double T return ans 2 8284 0 5359 sym vpa 3 25 dsolve Purpose Syntax Description Examples 3 26 Symbolic solution of ordinary differential equations r dsolve eq1 eq2 cond1 cond2 v r dsolve eq1 eq2 cond1 cond2 v dsolve eq1 eq2 cond1 cond2 v symbolically solves the ordinary differential equation s specified by eq1 eq2 using v as the independent variable and the boundary and or initial condition s specified by cond1 cond2 The default independent variable is t The letter D denotes differentiation with respect to the independent variable with the primary default this is d dx A D followed by a digit denotes repeated differentiation For example D2 is d2 dx2 Any character immediately following a differentiation operator is a dependent variable For example D3y denotes the third de
103. may define an unfamiliar function e The antiderivative may exist but the software can t find the it e The software could find the antiderivative on a larger computer but runs out of time or memory on the available machine Nevertheless in many cases MATLAB can perform symbolic integration successfully For example create the symbolic variables syms a b theta x y nu z 2 Using the Symbolic Math Toolbox 2 12 The following table illustrates integration of expressions containing those variables f int f x n x nt 1 nt1 y 1 log y n x 1 log n n x sin a theta b 1 a cos a thetatb 1 1 u72 atan u exp x 2 1 2 pi 1 2 erf x In the last example exp x 2 there is no formula for the integral involving standard calculus expressions such as trigonometric and exponential functions In this case MATLAB returns an answer in terms of the error function erf If MATLAB is unable to find an answer to the integral of a function f it just returns int f Definite integration is also possible The commands int f a b and int f v a b are used to find a symbolic expression for b b f x dx and f v dv a a respectively Calculus Here are some additional examples f a b int f a b x 7 0 1 1 8 1 x 1 2 109 2 log x sqrt x 0 1 4 9 exp x 2 0 inf 1 2 pi 1 2 besselj 1 z 2 0 1 1 12 hypergeom 3 2 3 2 2 5 2 31 1 For the Bessel function bessel
104. mmand rho sym 1 sqrt 5 2 achieves this goal Now you can perform various mathematical operations on rho For example f rho 2 rho 1 returns f 1 2 1 2 5 1 2 2 3 2 1 2 5 1 2 You can simplify this answer by entering simplify f which returns ans 0 Now suppose you want to study the quadratic function f ax bx c One approach is to enter the command f sym a x 2 b x c 1 4 Creating Symbolic Variables and Expressions which assigns the symbolic expression ax bx c to the variable f However in this case the Symbolic Math Toolbox does not create variables corresponding to the terms of the expression a b c and x To perform symbolic math operations e g integration differentiation substitution etc on f you need to create the variables explicitly A better alternative is to enter the commands a sym a b sym b c sym c x sym x or simply syms abc x Then enter f sym a x 2 b x c In general you can use sym or syms to create symbolic variables We recommend you use syms because it requires less typing Note To create a symbolic expression that is a constant you must use the sym command For example to create the expression whose value is 5 enter f sym 5 Note that the command f 5 does not define f as a symbolic expression If you set a variable equal to a symbolic expression and then apply the syms command to the variable MATLA
105. mply an answer in which case you can use the simplify command For an example of this see More Examples on page 2 4 Note that to take the derivative of a constant you must first define the constant as a symbolic expression For example entering c sym 5 diff c returns ans 0 If you just enter diff 5 MATLAB returns ans 1 because 5 is not a symbolic expression Derivatives of Expressions with Several Variables To differentiate an expression that contains more than one symbolic variable you must specify the variable that you want to differentiate with respect to The diff command then calculates the partial derivative of the expression with respect to that variable For example given the symbolic expression syms s t f sin s t 2 3 2 Using the Symbolic Math Toolbox the command diff f t calculates the partial derivative of dt The result is ans cos s t s To differentiate f with respect to the variable s enter diff f s which returns ans cos s t t If you do not specify a variable to differentiate with respect to MATLAB chooses a default variable by the same rule described in The subs Command on page 1 7 For one letter variables the default variable is the letter closest to x in the alphabet In the preceding example diff f takes the derivative of f with respect to t because t is closer to x in the alphabet than sis To determine the default variable that MATLA
106. ms x f cosint x diff f return cos x x sinint 3 19 det Purpose Syntax Description Examples 3 20 Matrix determinant r det A det A computes the determinant of A where Ais a symbolic or numeric matrix det A returns a symbolic expression if Ais symbolic a numeric value if Ais numeric The statements syms abc d det a b c d return a d b c The statements A sym 2 3 1 3 1 1 r det A return A 2 3 1 3 1 1 r 1 3 diag Purpose Syntax Description Examples Create or extract symbolic diagonals diag A k diag A diag A k where A is a row or column vector with n components returns a square symbolic matrix of order n abs k with the elements of A on the k th diagonal k O signifies the main diagonal k gt 0 the k th diagonal above the main diagonal k lt 0 the k th diagonal below the main diagonal diag A k where A is a square symbolic matrix returns a column vector formed from the elements of the k th diagonal of A diag A where A is a vector with n components returns an n by n diagonal matrix having A as its main diagonal diag A where A is a square symbolic matrix returns the main diagonal of A Suppose v ab c Then both diag v and diag v 0 return J 0 J b 0 H OO OO D CO OO diag v 2 returns 0 0 0 O O 0 0 0 0 0 a 0 O 0 0 0 b 0 O O 0 0 c
107. n below oo n fix Y e LW n 0 This table describes the various uses of the taylor command and its relation to Taylor and MacLaurin series Mathematical Operation MATLAB 5 n at E 0 syms x sitt i taylor f taylor Mathematical Operation MATLAB m n a f E m is a positive integer taylor f m SC de m is a positive integer 5 n y E 2 a is areal number taylor f a wee d a is a real number n IT mo E x mo gic SE taylor f m1 m2 SS m Mo are positive integers my My are positive integers m n K E taylor f m a n 0 de a is real and m is a positive integer a is real and mis a positive integer In the case where f is a function of two or more variables f f x y there is a fourth parameter that allows you to select the variable for the Taylor expansion Look at this table for illustrations of this feature Mathematical Operation MATLAB 5 Eo 0 taylor f y 3 123 taylor Mathematical Operation MATLAB m n Lay fa y 0 taylor f y m or 8 taylor f m y m is a positive integer m is a positive integer SS n n a d dE HL 2 fay a taylor f m y a ase dy a is real and m is a positive integer a is real and m is a positive integer a n n a d y Wl Zen a taylor f y a Se dy a is real a is real See Also findsym 3 124 taylortool Purpose Syntax Description Examples See Also Taylor series
108. n Name Arguments Digamma Psi x Function 4 Go y x peT T x Dilogarithm dilog x x gt 1 Integral x _ In fx J ie 1 Error Function erf z z 2 ri erf z e dt zl 0 Euler Numbers Generating function for Euler euler n n20 and Polynomials numbers euler n z de T 2 I t cht 2 En n n 0 3 88 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Exponential Ei n z n gt 0 Integrals Ei x Real z gt 0 E zt Ei n z j dt 1 x e e Ei x PV 5 Fresnel Sine and FresnelC x Cosine Integrals FresnelS x x C x Iesel E d dt 0 x 2 S x sin 3 d dt 0 Gamma Function GAMMA Z T z ere ae 0 Harmonic harmonic n n gt 0 Function n EECHER k 1 3 89 mfunlist Table 3 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Hyperbolic Sine Shi z and Cosine Chi z Integrals S h Shite Oa t 0 z Chi z y Intz OEO Zu 0 Generalized j hypergeom n d x ni n2 are Hypergeometric i Re real Function e e r n where d1 d2 are F n d z yo n n1 n2 real and k 0 r d k z d d1 d2 non negative rd i l where j and m are the number of terms in n and d respectively Incomplete Legendre s incomplete elliptic EllipticF x k 0 lt x lt ee Elliptic Integrals integrals of the first second and EllipticE x k third kind EllipticPi x a k he
109. n be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezsurf u 2 v 3 0 1 3 6 plots u v over0 lt u lt 1 3 lt v lt 6 ezsurf x y z plots the parametric surface x x s t y y s t and z z s t over the square 2r lt s lt Hm 27 lt t lt 2T ezsurf x y z smin smax tmin tmax or ezsurf x y z min max plots the parametric surface using the specified domain ezsurf n plots f over the default domain using an n by n grid The default value for n is 60 ezsurf circ plots f over a disk centered on the domain ezsurf does not graph points where the mathematical function is not defined these data points are set to NaNs which MATLAB does not plot This example illustrates this filtering of singularities discontinuous points by graphing the function ezsurf f x y real atan x 1y over the default domain 27 lt x lt 21 2T lt y lt 2T syms X y ezsurf real atan x i y 1 2 atan x i y 1 2 conj atan x i vil Note also that ezsurf creates graphs that have axis labels a title and extend to the axis limits See Also ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurfc surf 3 47 ezsurfc Purpose Syntax Description 3 48 Combin
110. n d numden A return A a 1 b n a 1 d 1 b poly Purpose Syntax Description Examples See Also Characteristic polynomial of a matrix H H poly A poly A v If A is a numeric array poly A returns the coefficients of the characteristic polynomial of A If Ais symbolic poly A returns the characteristic polynomial of Ain terms of the default variable x The variable v can be specified in the second input argument Note that if Ais numeric poly sym A approximately equals poly2sym poly A The approximation is due to roundoff error The statements syms zZ A gallery 3 p poly A q poly sym A s poly sym A z return A 149 50 154 537 180 546 27 9 25 p 1 0000 6 0000 11 0000 6 0000 q x 3 6 x 2 11 x 6 S Z 3 6 Z 24 11 Z 6 poly2sym jordan eig solve 3 97 poly2sym Purpose Syntax Description Examples See Also 3 98 Polynomial coefficient vector to symbolic polynomial 5 l poly2sym c poly2sym c v 5 ll r poly2sym c returns a symbolic representation of the polynomial whose coefficients are in the numeric vector c The default symbolic variable is x The variable v can be specified as a second input argument Ifc c1 c2 cn r poly2sym c has the form n 1 n 2 Cx CX poly2sym uses syms default rational conversion mode to convert the numeric coefficients to symbolic constant
111. n empty matrix and calculating the column space of H with colspace H Linear Algebra returns a permutation of the identity matrix A more interesting example which the following code shows is to find a value s for H 1 1 that makes H singular The commands syms s H 1 1 s Z det H sol solve Z produce H s 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 ZL 1 240 s 1 270 sol 8 9 Then H subs H s sol substitutes the computed value of sol for s in H to give H 8 9 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 Now the command det H returns ans 0 and inv H 2 67 2 Using the Symbolic Math Toolbox 2 68 produces an error message error using gt inv Error in inverse singular matrix because His singular For this matrix Z null H and C colspace H are nontrivial Z 1 4 10 3 C 1 0 0 1 3 10 6 5 It should be pointed out that even though His singular vpa H is not For any integer value d setting digits d and then computing det vpa H inv vpa H results in a determinant of size 10 d and an inverse with elements on the order of 10 d Eigenvalues The symbolic eigenvalues of a square matrix A or the symbolic eigenvalues and eigenvectors of A are computed respectively using the commands E eig A V E eig A The variable precision counterparts are E eig vpa A V E eig vpa A Linear
112. nctions Intensity of Diffracted Wave You see from the graph that the diffraction effect is most prominent near the edge of the diffraction screen x 0 as you expect Note that values of x that are large and positive correspond to observation points far away from the screen Here you would expect the screen to have no effect on the incident wave That is the intensity of the diffracted wave should be the same as that of the incident wave Similarly x values that are large and negative correspond to observation points under the screen that are far away from the screen edge Here you would expect the diffracted wave to have zero intensity These results can be verified by setting x Inf Inf in the code to calculate J 2 101 2 Using the Symbolic Math Toolbox Using Maple Functions 2 102 The maple function lets you access Maple functions directly This function takes sym objects strings and doubles as inputs It returns a symbolic object character string or double corresponding to the class of the input You can also use the maple function to debug symbolic math programs that you develop Simple Example As an example you can use the Maple function gcd to calculate the greatest common divisor of two integers or two polynomials For example to calculate the greatest common divisor of 14 and 21 enter maple gcd 14 21 ans 7 To calculate the greatest common divisor of x 2 y 2 and x
113. nd p 1 7 How to substitute numbers for variables Symbolic and Numeric Conversions How to convert between symbolic objects and numeric p 1 9 values Creating Symbolic Math Functions How to create functions that operate on symbolic objects p 1 14 1 Getting Started Symbolic Objects The Symbolic Math Toolbox defines a new MATLAB data type called a symbolic object See Programming and Data Types in the online MATLAB documentation for an introduction to MATLAB classes and objects Internally a symbolic object is a data structure that stores a string representation of the symbol The Symbolic Math Toolbox uses symbolic objects to represent symbolic variables expressions and matrices The actual computations involving symbolic objects are performed primarily by Maple mathematical software developed by Waterloo Maple Inc The following example illustrates the difference between a standard MATLAB data type such as double and the corresponding symbolic object The MATLAB command sqrt 2 returns a floating point decimal number ans 1 4142 On the other hand if you convert 2 to a symbolic object using the sym command and then take its square root by entering a sqrt sym 2 the result is a 27 1 2 MATLAB gives the result 2 1 2 which means EH 2 using symbolic notation for the square root operation without actually calculating a numerical value MATLAB records this symbolic expression in the str
114. nel contains a group of editable text fields f Displays a symbolic expression representing f Edit this field to redefine f g Displays a symbolic expression representing g Edit this field to redefine g 3 57 funtool 3 58 Displays the domain used to plot f and g Edit this field to specify a different domain Displays a constant factor used to modify f see button descriptions in the next section Edit this field to change the value of the constant factor funtool redraws f and g to reflect any changes you make to the contents of the control panel s text fields Control Buttons The bottom part of the control panel contains an array of buttons that transform f and perform other operations The first row of control buttons replaces f with various transformations of f df dx int f simple f num f den f 1 f finv Derivative of f Integral of f Simplified form of f if possible Numerator of f Denominator of f Reciprocal of f Inverse of f The operators intf and finv may fail if the corresponding symbolic expressions do not exist in closed form The second row of buttons translates and scales f and the domain of f by a constant factor To specify the factor enter its value in the field labeled a on the calculator control panel The operations are fra fa fa f a fa f x a Replaces f x by f x a Replaces f x by f x a Replaces f x by f x a Replaces f x by f x a Replac
115. ng Equations Solving Algebraic Equations If Sis a symbolic expression solve S attempts to find values of the symbolic variable in S as determined by findsym for which S is zero For example syms abc x S a x 2 b x Cj solve S uses the familiar quadratic formula to produce ans 1 2 a b b 2 4 a c 1 2 1 2 a b b 2 4 a c 1 2 This is a symbolic vector whose elements are the two solutions If you want to solve for a specific variable you must specify that variable as an additional argument For example if you want to solve S for b use the command b solve S b which returns b Gd a x 24 c x Note that these examples assume equations of the form f x 0 If you need to solve equations of the form f x q x you must use quoted strings In particular the command s solve cos 2 x sin x 1 returns a vector with four solutions 2 89 2 Using the Symbolic Math Toolbox S 0 pi 1 6 pi 5 6 pi Several Algebraic Equations This section explains how to solve systems of equations using the Symbolic Math Toolbox As an example suppose you have the system and you want to solve for x and y First create the necessary symbolic objects syms x y alpha There are several ways to address the output of solve One is to use a two output call x y solve x 2 y 2 x y 2 alpha which returns 0 0 alpha alpha oo D y 2 alpha 2 alpha 0
116. ng to fit at the top of the graph so MATLAB abbreviates the string See Also contour ezcontourf ezmesh ezmeshc ezplot ezplot3 ezpolar ezsurf ezsurfc 3 33 ezcontourf Purpose Filled contour plotter Syntax ezcontourf f ezcontourf f domain ezcontourf n Description ezcontour f plots the contour lines of f x y where f is a sym that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 2n 2n lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs ifthe function fis not defined singular for points on the grid then these points are not plotted ezcontour f domain plots f x y over the specified domain domain can be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezcontourf u 2 v 3 0 1 3 6 plots the contour lines for u v over 0 lt u lt 1l 3 lt v lt 6 ezcontourf n plots fover the default domain using an n by n grid The default value for n is 60 ezcontourf automatically adds a title and axis labels Examples The following mathematical expression defines a function of two variables x and y f x y BU leg Dr 10 2 Ales 1 ze Gen 1 2
117. now be manipulated by field and index to access a particular portion of the solution For example if you want to examine the second solution you can use the following statement s2 S a 2 S u 2 S v 2 to extract the second component of each field s2 1 D 1 D 0 The following statement M S a S u S v creates the solution matrix M M 3 5 4 1 1 0 whose rows comprise the distinct solutions of the system Linear systems of simultaneous equations can also be solved using matrix division For example clear uv x y syms uv xX y S solve x 2 y u 4 x 5 y v sol S x S y and A 1 2 4 5 b u v z A b 2 92 Solving Equations result in sol 5 3 u 2 3 v 4 3 u 1 3 v Z 5 3 ut2 3 v 4 3 u 1 3 v Thus s and z produce the same solution although the results are assigned to different variables Single Differential Equation The function dsolve computes symbolic solutions to ordinary differential equations The equations are specified by symbolic expressions containing the letter D to denote differentiation The symbols D2 D3 DN correspond to the second third Nth derivative respectively Thus D2y is the Symbolic Math Toolbox equivalent of d y dt The dependent variables are those preceded by D and the default independent variable is t Note that names of symbolic variables should not contain D The independent variable can be chang
118. ns of V are generalized eigenvectors of grade 2 They satisfy A V 1 2 1 V 2 V 1 A V 4 2 V 4 V 3 In mathematical notation with v v the columns of V and eigenvalues satisfy the relationships A IV vi A I v4 v3 Singular Value Decomposition Only the variable precision numeric computation of the complete singular vector decomposition is available in the toolbox One reason for this is that the formulas that result from symbolic computation are usually too long and 2 75 2 Using the Symbolic Math Toolbox 2 76 complicated to be of much use If A is a symbolic matrix of floating point or variable precision numbers then S svd A computes the singular values of A to an accuracy determined by the current setting of digits And U S V svd A produces two orthogonal matrices U and V and a diagonal matrix S so that A U S V Consider the n by n matrix A with elements defined by A i j 1 i j 1 2 For n 5 the matrix is 2 2 DIGS 2 5 2 7 2 3 2 2 2 3 2 5 2 5 2 3 2 2 2 3 2 7 2 5 2 3 2 2 2 9 2 7 2 5 2 3 2 It turns out many of the singular values of these matrices are close to 7 The most obvious way of generating this matrix is for i 1 n for j 1 n A i j sym 1 i j 1 2 end end The most efficient way to generate the matrix is 4 1 meshgrid 1 n A sym 1 1 J 1 2 Since the elements of A are the ratios of small integers vpa A
119. ns the reference page for the function in the Help browser e Click the Search tab in the Help Navigator and enter the text you want to search for in the Search for field e Click the Index tab and enter the text you want to search for in the Search index for field ix Preface Note To restrict the search or index topics to the Symbolic Math Toolbox documentation click the Select button next to Product filter and clear the check boxes next to all products except Symbolic Math Toolbox Using Command Line Help As a supplement to this guide you can find information on Symbolic Math Toolbox functions using the MATLAB command line help system You can obtain help for any MATLAB function by typing help function where function is the name of the function for which you need help The Symbolic Math Toolbox overloads many of the numeric functions of MATLAB with symbolic specific implementations of those functions using the same function name To obtain help for the symbolic version of an overloaded function type help sym function where function is the overloaded function s name For example to obtain help on the symbolic version of the overloaded function diff type help sym diff Demos To get a quick online introduction to the Symbolic Math Toolbox type demos at the MATLAB command line MATLAB displays the Demos pane in the Help Browser To run the demos 1 Click the sign next to Toolboxes in the left
120. on to be done symbolically You can change the computation from symbolic to numeric by modifying the assignment statement to include decimal points b sqrt 1 2 With this assignment the entire computation uses variable precision arithmetic at the current setting of digits The commands digits 100 procread pie src p maple pie 5 2 111 2 Using the Symbolic Math Toolbox 2 112 produce a 100 digit result p 3 14159265358979323 5628703211672038 The last 16 digits differ from those of x because with five iterations the algorithm gives only 84 digits Note that you can define your own MATLAB M file that accesses a Maple procedure function p pie1 n p maple pie n Function Reference Functions By Category p 3 2 Tables of Symbolic Math Toolbox functions arranged by category Functions Alphabetical List p 3 7 An alphabetical list of Symbolic Math Toolbox functions 3 Function Reference 3 2 Functions By Category This chapter provides detailed descriptions of all Symbolic Math Toolbox functions It begins with tables of these functions and continues with the reference pages for the functions in alphabetical order Calculus diff Differentiate int Integrate jacobian Jacobian matrix limit Limit of an expression symsum Summation of series taylor Taylor series expansion Linear Algebra colspace Basis for column space det Determinant diag Create or extra
121. ot defined singular for points on the grid then these points are not plotted ezcontour f domain plots f x y over the specified domain domain can be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezcontour u 2 v 3 0 1 3 6 plots the contour lines for u2 y over 0O lt u lt 1 3 lt vu lt 6 ezcontour n plots f over the default domain using an n by n grid The default value for n is 60 ezcontour automatically adds a title and axis labels The following mathematical expression defines a function of two variables x and y f x y 3 1 x e _ 10 Ales 1 ze 1 2 y2 ezcontour requires a sym argument that expresses this function using MATLAB syntax to represent exponents natural logs etc This function is represented by the symbolic expression syms x y f 3 1 x 2 exp x 2 y 1 2 10 x 5 x 3 y 5 exp x 2 y 2 1 3 exp xt 1 2 y 2 ezcontour For convenience this expression is written on three lines Pass the sym f to ezcontour along with a domain ranging from 3 to 3 and specify a computational grid of 49 by 49 ezcontour f 3 3 49 3 13 exp y 1 1 3 exp x 1 2y In this particular case the title is too lo
122. plification function that produced it in the MATLAB command window The simple function then returns the shortest result For example the command simple cos x 2 sin x 2 displays the following alternative simplifications in the MATLAB command window simplify 1 radsimp cos x 2 sin x 2 combine trig 4 factor cos x 2 sin x 2 expand cos x 2 sin x 2 combine 4 convert exp 1 2 exp i x 1 2 exp i x 2 1 4 exp i x 1 exp i x 2 convert sincos cos x 2 sin x 2 convert tan 1 tan 1 2 x 2 2 1 tan 1 2 x 2 2 4 tan 1 2 x 2 1 tan 1 2 x 2 2 collect x cos x 2 sin x 2 2 47 2 Using the Symbolic Math Toolbox 2 48 and returns ans 1 This form is useful when you want to check for example whether the shortest form is indeed the simplest If you are not interested in how simple achieves its result use the form f simple f This form simply returns the shortest expression found For example the statement f simple cos x 2 sin x 2 returns f 4 If you want to know which simplification returned the shortest result use the multiple output form F how simple f This form returns the shortest result in the first variable and the simplification method used to achieve the result in the second variable For example the statement f how simple cos x 2 sin x 2 returns f 4 how combine The simple function sometimes impro
123. plify symbolic expressions and are used to perform symbolic substitutions Simplifications Here are three different symbolic expressions syms X f x 3 6 x 2 11 x 6 g x 1 x 2 x 3 h 6 11 6 x x x Here are their prettyprinted forms generated by pretty f pretty g pretty h 3 2 x 6x 11x 6 x 1 x 2 x 3 6 11 6 x x x These expressions are three different representations of the same mathematical function a cubic polynomial in x Each of the three forms is preferable to the others in different situations The first form f is the most commonly used representation of a polynomial It is simply a linear combination of the powers of x The second form g is the factored form It displays the roots of the polynomial and is the most accurate for numerical evaluation near the roots But if a polynomial does not have such simple roots its factored form may not be so convenient The third form h is the Horner or nested representation For numerical evaluation it involves the fewest arithmetic operations and is the most accurate for some other ranges of X The symbolic simplification problem involves the verification that these three expressions represent the same function It also involves a less clearly defined objective which of these representations is the simplest 2 41 2 Using the Symbolic Math Toolbox 2 42 This toolbox provides several functions that apply v
124. pressions 1 9 default symbolic variable 1 8 definite integration 2 12 det 3 20 diag 3 21 diff 2 2 3 23 differentiation 2 2 diffraction 2 99 digamma function 2 98 digits 1 10 3 24 Dirac Delta function 2 98 discrim 2 85 double 3 25 converting to floating point with 2 61 dsolve 2 93 3 26 E eig 2 68 3 28 eigenvalue trajectories 2 78 eigenvalues 2 68 2 79 3 28 computing 2 68 eigenvector 2 69 elliptic integrals 2 98 eps 1 9 error function 2 98 Euler polynomials 2 97 expand 2 43 3 31 expm 3 30 exponential integrals 2 98 Extended Symbolic Math Toolbox vii 2 108 3 92 orthogonal polynomials included with 2 98 ezcontour 3 32 F factor 3 50 example 2 44 factorial function 1 12 factorial operator 3 121 findsym 3 51 finverse 3 52 floating pint arithmetic IEEE 2 59 floating point arithmetic 2 58 floating point symbolic expressions 1 9 format 2 58 fortran 3 53 fourier 3 54 Fourier transform 3 54 Fresnel integral 2 98 function calculator 3 57 functional composition 3 17 functional inverse 3 52 funtool 3 57 G gamma function 2 98 Gegenbauer polynomial 2 98 generalized hypergeometric function 2 98 Index Givens transformation 2 63 2 72 golden ratio 1 4 H harmonic function 2 98 Heaviside function 2 98 Hermite polynomial 2 98 Hilbert matrix 1 10 2 64 horner 3 60 example 2 43 hyperbolic cosine function 2 98 hyperbolic sine function 2 98 hypergeometric function 2 98 l TEEE floating poin
125. r Value Decomposition 2 75 Eigenvalue Trajectories 0 0 00 eee ee eens 2 78 Solving Equations 0 0 0 ccc eee eens 2 89 Solving Algebraic Equations 2 89 Several Algebraic Equations 0 0 0 0 eee eens 2 90 Single Differential Equation 0 0 0 c eee eee 2 93 Several Differential Equations 2 95 Special Mathematical Functions 2 97 Diffraction sh a edita 2 99 Using Maple Functions 2 102 Simple sample 2 102 Vectorized Example 2 104 Debusside ad a PAR es 2 106 Extended Symbolic Math Toolbox 2 108 Packages of Library Functions 2 108 Procedure sample 2 110 Function Reference 3 Functions By Category 3 2 Calculus at a a 3 2 Linear Algebra 22 ebe ls E os 3 2 SIMpl iCatiOA id ad Oude 3 3 Solution of Equations 0 0 0 0 cece ooo 3 3 Variable Precision Arithmetic ooooooooooooo 3 3 Arithmetic Operations 0 3 3 Special Functions iler nko kee a Reta eed 3 4 Access To Maples ee oes aia sen dienes AC 3 4 Pedagogical and Graphical Applications 3 5 COnVersiOnsy Zeen bee ay aaa bk eae ts 3 5 Basic Operations s aera de RER A EE 3 5 Integral Transforms ooo o 3 6 Functions Alphabetical List 3 7 iv Contents Preface What Are the Symbolic Math Toolboxes p vi Related Products p viii Using Thi
126. ransition to produce a plot of their trajectories Linear Algebra x10 Eigenvalue Transition 2 T T T 1 87 J 1 67 7 1 4p 4 1 2 7 db 4 D r 7 D r J 0 47 7 D r 0 L J i 1 L f 1 1 2 1 4 1 6 1 8 2 2 2 4 2 6 2 8 3 XN Above t 0 8e the graphs of two of the eigenvalues intersect while below t 0 8e two real roots become a complex conjugate pair What is the precise value of t that marks this transition Let t denote this value of t One way to find the exact value of t involves polynomial discriminants The discriminant of a quadratic polynomial is the familiar quantity under the square root sign in the quadratic formula When it is negative the two roots are complex There is no discrim function in the toolbox but there is one in Maple and it can be accessed through the toolbox s maple function The statement mhelp discrim provides a brief explanation Use these commands syms a bc x maple discrim a x 2 b x c x to show the generic quadratic s discriminant b 4ac 2 85 2 Using the Symbolic Math Toolbox 2 86 ans 4 a c b 2 The discriminant for the perturbed cubic characteristic polynomial is obtained using discrim maple discrim p x which produces discrim 4 5910096 t 1403772863224 t 2 477857003880091920 t 3 24256318506 0 t 4 The quantity t is one of the four roots of this quartic You can find a numeric value for t with the followin
127. right The limit from the left is limit F x pi left ans 1 3 pi On the other hand the limit from the right is limit F x pi right ans 1 3 pi The height of the gap is the distance between the left and right hand limits which is 27 3 as shown in the following figure Calculus T 3 Gap of height 27 3 7 3 You can create the step function using the round function which rounds numbers to the nearest integer as follows J sym 2 pi 3 sym round x 2 pi Each step has width 27 and the jump from one step to the next is 27 3 as shown in the following figure 2 37 2 Using the Symbolic Math Toolbox 2 3 n round 1 2 vin Next add the step function J x to F x with the following code F1 FJ F1 2 3 atan 1 3 tan 1 2 x 2 3 pi round 1 2 x pi Adding the step function raises the section of the graph of F x on the interval x 37 up by 27 3 lowers the section on the interval 3x 1 down by 27 3 and so on as shown in the following figure 2 38 Calculus Moves down Moves up 27 3 27 3 When you plot the result by entering ezplot F1 you see that this representation does have a continuous graph 2 39 2 Using the Symbolic Math Toolbox 2 3 atan 1 3 tan 1 2 x 2 3 n round 1 2 x r 2 5F T T T T T T 2 40 Simplifications and Substitutions Simplifications and Substitutions There are several functions that sim
128. rivative of y x or y t Initial boundary conditions are specified with equations like y a bor Dy a b where y is a dependent variable and a and b are constants If the number of initial conditions specified is less than the number of dependent variables the resulting solutions will contain the arbitrary constants C1 COs ac You can also input each equation and or initial condition as a separate symbolic equation dsolve accepts up to 12 input arguments With no output arguments dsolve returns a list of solutions dsolve returns a warning message if it cannot find an analytic solution for an equation In such a case you can find a numeric solution using the MATLAB ode23 or ode45 functions dsolve Dy a y returns Ci exp a t dsolve Df f sin t returns 1 2 cos t 1 2 sin t exp t C1 dsolve Diagnostics See Also dsolve Dy 2 y 2 1 s returns 1 1 sin s C1 sin s C1 dsolve Dy a y y 0 b returns b exp a t dsolve D2y a 2 y y 0 1 Dy pi a 0 returns cos a t dsolve Dx y Dy x returns x 1x1 sym y 1x1 sym If dsolve cannot find an analytic solution for an equation it prints the warning Warning explicit solution could not be found and return an empty sym object syms 3 27 eig Purpose Syntax Description Examples 3 28 Symbolic matrix eigenvalues and eigenvectors lambda eig A V D eig A
129. rse Laplace transform Inverse z transform Laplace transform z transform Functions Alphabetical List Functions Alphabetical List Arithmetic Operations 0 0 cc o 3 11 codo tt a EE 3 14 coll it Sd ta ti Ds 3 15 COPIE A A be Be A E A 3 16 COMPOST A ea Sesh odes a 3 17 CONS eet get leg da Gas eege 3 18 e at a a tae A 3 19 det e en it OS A AS ENE NE SC 3 20 dia ata plan ala ENEE aaah a en Sadie edo ws 3 21 e WER 3 23 e A A E E E 3 24 ls EA A 3 25 e KEE 3 26 UE RA E A A AS E E 3 28 En NEE 3 30 CXpand A TE 3 31 ee DEEN 3 32 CZCONLOUTE saeua Sess Ale Se aes Bee as sd beta cdas 3 34 ELMO ii id bes sed be 3 36 EZMESAC ii A ES A E 3 38 E EE 3 40 Spott 238 MN EE a dE AA sa da EN ede ws 3 43 CZPOlAM A A AA A a 3 45 A O ee ee 3 46 OZSUNIC EN e EE 3 48 factoren sth A E E A tata he 3 50 OS ME AS AA A a io de 3 51 E a a 3 52 LOTA fecha AE es AE eeneg wen heat th 3 53 Ieren aler BOS Miah eR Bae A ee Tee 3 54 PUNTO ch esata A Sen ee Be Beek oes Bs 3 57 HOMER rr e Oa loeb duce els le 3 60 hypereeom der ads eae a 3 61 QUIE Sorte SS Secs OS BREN PB Pes NS aE Po Testa 3 62 Laplace td ee Ade ee Sd ek hin wade ec 3 65 IMAS NN 3 67 Wt eat eek dE ea EE EE ee E WEE MER a ee 3 68 IV A EE WEN AAA Dean abe Roe axeca tena S 3 69 O 3 71 JACODIAD e is A A A a a la db 3 73 JOLLA donar dr a a a a dd aa 3 74 LAME A clavate EEN Ne e wl gD aes EE ee 3 76 laplace isso radar insano ada a 3 77 late iii A Ree dad dl as de 3 7
130. s Linear Algebra cos t cos t 2 1 1 2 cos t cos t 2 1 1 2 you can use simple to simplify this form of g Indeed a repeated application of simple for j 1 4 g how simple g end produces the best result g cos t sin t 2 1 2 cos t sin ct lt gt Nm lt gt Kn how mwcos2sin cos t i sin t cos t i sin t how radsimp g exp i t 1 exp i t how convert exp exp i t g exp i t how simplify 2 73 2 Using the Symbolic Math Toolbox 2 74 Notice the first application of simple uses mwcos2sin to produce a sum of sines and cosines Next simple invokes radsimp to produce cos t i sin t for the first eigenvector The third application of simple uses convert exp to change the sines and cosines to complex exponentials The last application of simple uses simplify to obtain the final form Jordan Canonical Form The Jordan canonical form results from attempts to diagonalize a matrix by a similarity transformation For a given matrix A find a nonsingular matrix V so that inv V A V or more succinctly J V A V is as close to diagonal as possible For almost all matrices the Jordan canonical form is the diagonal matrix of eigenvalues and the columns of the transformation matrix are the eigenvectors This always happens if the matrix is symmetric or if it has distinct eigenvalues Some nonsymmetric matrices w
131. s This mode expresses the symbolic coefficient approximately as a ratio of integers if sym can find a simple ratio that approximates the numeric value otherwise as an integer multiplied by a power of 2 If x has a numeric value and sym expresses the elements of c exactly eval poly2sym c returns the same value as polyval c x poly2sym 1 3 2 returns x 2 3 x 2 poly2sym 694228 333 6 2832 returns 6253049924220329 9007199254740992 x 2 333 1000 x 3927 625 poly2sym 1 01 1 2 y returns y 4ty 2 yt2 sym sym2poly polyval in the online MATLAB Function Reference pretty Purpose Syntax Description Examples Prettyprint symbolic expressions pretty S pretty S n The pretty function prints symbolic output in a format that resembles typeset mathematics pretty S prettyprints the symbolic matrix S using the default line width of 79 pretty S n prettyprints S using line width n instead of 79 The following statements ret A sym pascal 2 B eig A pretty B urn A 1 1 1 2 B 3 2 1 2 5 1 2 3 2 1 2 5 1 2 3 2 1 2 5 3 2 1 2 5 1 2 1 1 2 1 3 99 procread Purpose Syntax Description Examples See Also 3 100 Install a Maple procedure procread filename procread filename reads the specified file which should contain the source text for a Maple procedure It deletes any comments and newline characters then
132. s Guide p ix Configuration Information p xii Overview of the toolboxes MathWorks products related to the toolboxes Overview of this guide How to determine whether the toolboxes are installed on your system Preface vi What Are the Symbolic Math Toolboxes The Symbolic Math Toolboxes incorporate symbolic computation into the numeric environment of MATLAB These toolboxes supplement MATLAB numeric and graphical facilities with several other types of mathematical computation which are summarized in following table Facility Covers Calculus Linear Algebra Simplification Solution of Equations Special Mathematical Functions Variable Precision Arithmetic Transforms Differentiation integration limits summation and Taylor series Inverses determinants eigenvalues singular value decomposition and canonical forms of symbolic matrices Methods of simplifying algebraic expressions Symbolic and numerical solutions to algebraic and differential equations Special functions of classical applied mathematics Numerical evaluation of mathematical expressions to any specified accuracy Fourier Laplace z transform and corresponding inverse transforms The computational engine underlying the toolboxes is the kernel of Maple a system developed primarily at the University of Waterloo Canada and more recently at the Eidgen ssiche Technische Hochschule Z rich Switzerland Map
133. s the limit of the symbolic expression F as x gt a limit F a uses findsym F as the independent variable limit F uses a 0 as the limit point limit F x a right or limit F x a left specify the direction of a one sided limit Assume syms x a t h Then limit sin x x gt 1 limit 1 x x 0 right gt inf limit 1 x x 0 left gt inf limit sin xth sin x h h 0 gt cos x v 1 a x x exp x limit v x inf left gt exp a 0 pretty ccode fortran maple Purpose Syntax Description Examples Access Maple kernel r maple statement r maple function argi arg2 r status maple maple traceon or maple trace on maple traceoff ormaple trace off maple statement sends statement to the Maple kernel and returns the result A semicolon for the Maple syntax is appended to statement if necessary maple function arg1 arg2 accepts the quoted name of any Maple function and associated input arguments The arguments are converted to symbolic expressions if necessary and function is then called with the given arguments If the input arguments are syms then maple returns a sym Otherwise it returns a result of class char r status maple is an option that returns the warning error status When the statement execution is successful r is the result and status is 0 If the execution fails r is the corresponding warning error message and status
134. same dimensions unless one is scalar S Matrix multiplication A B is the linear algebraic product of A and B The number of columns of A must equal the number of rows of B unless one is a scalar ul Array multiplication A B is the entry by entry product of A and B A and B must have the same dimensions unless one is scalar Matrix left division X A B solves the symbolic linear equations A X B Note that A B is roughly equivalent to inv A B Warning messages are produced if X does not exist or is not unique Rectangular matrices A are allowed but the equations must be consistent a least squares solution is not computed A Array left division A 1B is the matrix with entries B i j A i j A and B must have the same dimensions unless one is scalar Matrix right division X B A solves the symbolic linear equation X A B Note that B A is the same as A 1B Warning messages are produced if X does not exist or is not unique Rectangular matrices A are allowed but the equations must be consistent a least squares solution is not computed Array right division A B is the matrix with entries A i j B i j A and B must have the same dimensions unless one is scalar Arithmetic Operations S Matrix power X P raises the square matrix X to the integer power P If X is a scalar and P is a square matrix X P raises X to the matrix power P using eigenvalues and eigenvectors X P where X and P are both matrices is an
135. sends the resulting string to Maple The Extended Symbolic Math Toolbox is required Suppose the file ident src contains the following source text for a Maple procedure ident proc A ident A computes A inverse A local X X inverse A evalm A 8 X end Then the statement procread ident src installs the procedure It can be accessed with maple ident magic 3 or maple ident vpa magic 3 maple rank Purpose Syntax Description Examples Symbolic matrix rank rank A rank A is the rank of the symbolic matrix A rank a b c d is 2 rank sym magic 4 is 3 3 101 real Purpose Symbolic real part Syntax real Z Description real Z is the real part of a symbolic Z See Also conj imag 3 102 rref Purpose Syntax Description Examples Reduced row echelon form rref A rref A is the reduced row echelon form of the symbolic matrix A rref sym magic 4 returns 1 0 0 1 0 1 0 3 0 0 1 3 0 0 0 0 3 103 rsums Purpose Syntax Description Examples 3 104 Interactive evaluation of Riemann sums rsums f rsums f interactively approximates the integral of f x by Riemann sums rsums f displays a graph of f x You can then adjust the number of terms taken in the Riemann sum by using the slider below the graph The number of terms available ranges from 2 to 128 rsums exp 5 x 2 creates the following plot
136. spatial curve This example plots the parametric curve x sint y cost z t over the domain 0 67 syms t ezplot3 sin t cos t t 0 6 pi x sin t y cos t z t 20 3 43 ezplot3 See Also ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurf ezsurfc plot3 3 44 ezpolar Purpose Syntax Description Example Polar coordinate plotter ezpolar f ezpolar f a b ezpolar f plots the polar curve rho f theta over the default domain 0 lt theta lt 2n ezpolar f a b plots f for a lt theta lt b This example creates a polar plot of the function 1 cos t over the domain 0 27 syms t ezpolar 1 cos t 270 r 1 cos t 3 45 ezsurf Purpose Syntax Purpose Examples 3 46 3 D colored surface plotter ezsurf ezsurf ezsurf ezsurf ezsurf ezsurf f f domain X3Y Z Xx y z smin smax tmin tmax or ezsurf x y z min max n Circ A RS ea ae ezsurf f creates a graph of f x y where f is a symbolic expression that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 22 Heu lt 27 MATLAB chooses the computational grid according to the amount of variation that occurs if the function fis not defined singular for points on the grid then these points are not plotted ezsurf f domain plots f over the specified domain domain ca
137. sues in this example are the order of the equation and the initial conditions To solve the ordinary differential equation Solving Equations 3 du eg dx u 0 1 u 0 1 u 0 2 simply type u dsolve D3u u u 0 1 Du 0 1 D2u 0 pi x Use D3u to represent d u dx and D2u 0 for u 0 Several Differential Equations The function dsolve can also handle several ordinary differential equations in several variables with or without initial conditions For example here is a pair of linear first order equations S dsolve Df 3 f 4 g 5 Dg 4 f 3 g The computed solutions are returned in the structure S You can determine the values of f and g by typing f S f f exp 3 t C1 sin 4 t C2 c0s 4 t g S g g exp 3 t C1 cos 4 t C2 sin 4 t If you prefer to recover f and g directly as well as include initial conditions type f 9 dsolve Df 3 f 4 g Dg 4 f 3 g f 0 0 g 0 1 f exp 3 t sin 4 t g exp 3 t cos 4 t 2 95 2 Using the Symbolic Math Toolbox This table details some examples and Symbolic Math Toolbox syntax Note that the final entry in the table is the Airy differential equation whose solution is referred to as the Airy function Differential Equation MATLAB Command DO ayi t e y dsolve Dy 4 y exp t y 0 1 y 0 1 S y dsolve D2y 4 y exp 2 x ES y 0 0 y pi 0 x LY ay x
138. sym y real or more efficiently syms x y real z x i y create symbolic variables x and y that have the added mathematical property of being real variables Specifically this means that the expression f x 2 y 2 is strictly nonnegative Hence z is a complex variable and can be manipulated as such Thus the commands conj x conj z expand z conj z return X X i y x 2 y 2 respectively The conj command is the complex conjugate operator for the toolbox If conj x x returns 1 then x is a real variable Clearing Variables in the Maple Workspace When you declare x to be real with the command syms x real a becomes a symbolic object in the MATLAB workspace and a positive real variable in the Maple kernel workspace If you later want to remove the real property from x enter syms a unreal Note that entering clear x only clears x in the MATLAB workspace If you then enter syms x MATLAB still treats x as a positive real number Creating Abstract Functions If you want to create an abstract i e indeterminant function f x type 1 Getting Started f sym f x Then f acts like f x and can be manipulated by the toolbox commands For example to construct the first difference ratio type df subs f x x h f h or syms x h df subs f x x h f h which returns df f x h f x h This application of sym is useful when computing Fourier Laplace and z transforms Using sym to A
139. t arithmetic 2 59 ifourier 3 62 ilaplace 3 65 imag 3 67 incomplete gamma function 2 98 initializing the Maple kernel 3 83 initstring variable 3 83 int 2 11 3 68 example 2 10 integration 2 10 definite 2 12 with real constants 2 13 inv 3 69 inverse Fourier transform 3 62 inverse Laplace transform 3 65 inverse z transform 3 71 iztrans 3 71 J Jacobi polynomial 2 99 jacobian 2 6 3 73 Jacobian matrix 2 6 3 73 jordan 3 74 example 2 74 Jordan canonical form 2 74 3 74 L Laguerre polynomial 2 98 Lambert s W function 2 98 3 76 lambertw 3 76 laplace 3 77 Laplace transform 3 77 latex 3 79 left division array 3 11 matrix 3 11 Legendre polynomial 2 99 limit 2 8 3 80 limits 2 7 undefined 2 10 linear algebra 2 63 logarithm function 2 98 logarithmic integral 2 98 M machine epsilon 1 9 Maclaurin series 2 18 Maple vi maple 3 81 output argument 2 106 Maple functions accessing 1 12 2 102 Maple help 3 94 1 5 Index 1 4 Maple kernel accessing 3 81 initializing 3 83 Maple library 3 83 Maple Orthogonal Polynomial Package 3 92 Maple packages 2 108 loading 2 108 Maple procedure 2 1 2 108 3 100 installing 3 100 writing 2 110 mapleinit 3 83 matrix addition 3 11 condition number 2 66 diagonal 3 21 exponential 3 30 inverse 3 69 left division 3 11 lower triangular 3 126 multiplication 3 11 power 3 12 rank 3 101 right division 3 11 size 3 108 subtraction 3 11 transpose 3 12 upper triangular 3 127 M
140. ting for sym That is calling sym without a second argument is the same as using sym with the r option sym t ans 1 10 The third option e returns the rational form of t plus the difference between the theoretical rational expression for t and its actual machine floating point value in terms of eps the floating point relative accuracy sym t e ans 1 10 eps 40 The fourth option d returns the decimal expansion of t up to the number of significant digits specified by digits sym t d 1 9 1 Getting Started ans 10000000000000000555111512312578 The default value of digits is 32 hence sym t d returns a number with 32 significant digits but if you prefer a shorter representation use the digits command as follows digits 7 sym t d ans 1000000 A particularly effective use of sym is to convert a matrix from numeric to symbolic form The command A hilb 3 generates the 3 by 3 Hilbert matrix A 1 0000 0 5000 0 3333 0 5000 0 3333 0 2500 0 3333 0 2500 0 2000 By applying sym to A A sym A you can obtain the symbolic infinitely precise form of the 3 by 3 Hilbert matrix A 1 1 2 1 3 1 2 1 3 1 4 1 3 1 4 1 5 Constructing Real and Complex Variables The sym command allows you to specify the mathematical properties of symbolic variables by using the real option That is the statements Symbolic and Numeric Conversions x sym x real y
141. tion from Euclidean x y z to spherical r 0 coordinates as given by x rcosAcos y rcosAsing and z rsind Note that A corresponds to elevation or latitude while denotes azimuth or longitude To calculate the Jacobian matrix J of this transformation use the jacobian function The mathematical notation for J is _ Ax y x ar A q For the purposes of toolbox syntax use 1 for and f for y The commands syms r 1 f D r cos 1 cos f y r cos 1 sin f z r sin 1 J jacobian x y z r 1 f return the Jacobian J cos 1 cos f r sin 1 cos f r cos 1 sin f Calculus cos 1 sin f r sin 1 sin f r cos 1 cos f sin 1 r cos 1 0 and the command detJ simple det J returns detJ cos 1 r 2 Notice that the first argument of the jacobian function must be a column vector and the second argument a row vector Moreover since the determinant of the Jacobian is a rather complicated trigonometric expression you can use the simple command to make trigonometric substitutions and reductions simplifications The section Simplifications and Substitutions on page 2 41 discusses simplification in more detail A table summarizing diff and jacobian follows Mathematical Operator MATLAB Command df diff f or diff f x dx df f SC ff f Ja diff f a d r diff f b 2 db pan J jacobian r t u v Limits The fundamental ide
142. to solve a system of simultaneous linear equations For example the commands GER a EE AE x Hub Solve Hx b produce the solution 3 24 30 All three of these results the inverse the determinant and the solution to the linear system are the exact results corresponding to the infinitely precise rational Hilbert matrix On the other hand using digits 16 the command V vpa hilb 3 2 65 2 Using the Symbolic Math Toolbox 2 66 returns 1 5000000000000000 3333333333333333 5000000000000000 3333333333333333 2500000000000000 3333333333333333 2500000000000000 2000000000000000 The decimal points in the representation of the individual elements are the signal to use variable precision arithmetic The result of each arithmetic operation is rounded to 16 significant decimal digits When inverting the matrix these errors are magnified by the matrix condition number which for hilb 3 is about 500 Consequently inv V which returns ans 9 000000000000179 36 00000000000080 30 00000000000067 36 00000000000080 192 0000000000042 180 0000000000040 30 00000000000067 180 0000000000040 180 0000000000038 shows the loss of two digits So does det V which gives 462962962962953e 3 and V b which is 3 000000000000041 24 00000000000021 30 00000000000019 Since H is nonsingular calculating the null space of H with the command null H returns a
143. tote to the graph To find the vertical asymptotes of f set the denominator equal to 0 and solve by entering the following command roots solve denom This returns to solutions to x x 3 0 roots 1 2 1 2 13 1 2 1 2 1 2 13 1 2 This tells you that vertical asymptotes are the lines _ 1 18 2 and SE E ae You can plot the horizontal and vertical asymptotes with the following commands ezplot f hold on Keep the graph of f in the figure Plot horizontal asymptote plot 2 pi 2 pi 3 3 9 Plot vertical asymptotes plot double roots 1 1 1 5 10 r plot double roots 2 1 1 5 10 r title Horizontal and Vertical Asymptotes hold off Calculus Note that roots must be converted to double to use the plot command The preceding commands display the following figure Horizontal and Vertical Asymptotes To recover the graph of f without the asymptotes enter ezplot f Finding the Maximum and Minimum You can see from the graph that f has a local maximum somewhere between the points x 2 and x 3 and might have a local minimum between x 4 and x 2 To find the x coordinates of the maximum and minimum first take the derivative of f fi diff f This returns f1 6 x 6 x 2 x 3 3 x 2 6 x 1 X 2 xX 3 2 2 x 1 To simplify this expression enter f1 simplify f1 2 23 2 Using the Symbolic Math Toolbox 2 24
144. ts are not the ratios of small integers so sym E reproduces the floating point representation in a symbolic form ans 6121026514868074 2 51 7286977268806824 2 52 4947709893870346 2 52 6864358026484820 2 53 Variable Precision Numbers Variable precision numbers are distinguished from the exact rational representation by the presence of a decimal point A power of 10 scale factor denoted by e is allowed To use variable precision instead of rational arithmetic create your variables using the vpa function For matrices with purely double entries the vpa function generates the representation that is used with variable precision arithmetic For example if you apply vpa to the matrix S defined in the preceding section with digits 4 by entering vpa S MATLAB returns the output S 1 100 1 200 1 300 2 100 2 200 2 300 Variable Precision Arithmetic 3 100 3 200 3 300 Applying vpa to the matrix E defined in the preceding section with digits 25 by entering digits 25 F vpa E returns F 2 718281828459045534884808 1 414213562373094923430017 1 098612288668110004152823 2189591863280899719512718 Converting to Floating Point To convert a rational or variable precision number to its MATLAB floating point representation use the double function In the example both double sym E and double vpa E return E Another Example The next example is perhaps more interestin
145. u compose syms fortran Purpose Fortran representation of a symbolic expression Syntax fortran S Description fortran S returns the Fortran code equivalent to the expression S Examples The statements syms x f taylor log 1 x fortran f return tO x x 2 2 x 3 3 x 4 4 x 5 5 The statements H sym hilb 3 fortran H return H 1 1 1 H 1 2 1 E0 2 E0 H 1 3 1 E0 3 E0 H 2 1 1 E0 2 E0 H 2 2 1 E0 3 EO 4H 2 3 1 E0 4 E0 H 3 1 1 E0 3 E0 H 3 2 1 E0 4 E0 H 3 3 1 E0 5 E0 See Also ccode latex pretty 3 53 fourier Purpose Syntax Description 3 54 Fourier integral transform F fourier f fourier f v F fourier f u v n F fourier f is the Fourier transform of the symbolic scalar f with default independent variable x The default return is a function of w The Fourier transform is applied to a function of x and returns a function of w f f x gt F F w Iff f w fourier returns a function of t F F t By definition F w foe dx where x is the symbolic variable in f as determined by findsym F fourier f v makes F a function of the symbol v instead of the default w F v Fone dx oo F fourier f u v makes f a function of u and F a function of v instead of the default variables x and w respectively F v f fae du oo fourier Examples Fourier Transform MATLAB Command fix e oo F fl w ffe
146. ument Trace Mode The command maple traceon causes all subsequent Maple statements and results to be printed to the screen For example maple traceon a sym a exp 2 a prints all calls made to the Maple kernel for calculating exp 2 a statement 2 a result 2 a statement 2 a result 2 a statement exp 2 a result exp 2 a statement exp 2 a result exp 2 a ans exp 2 a To revert back to suppressed printing use maple traceoff Status Output Argument The maple function optionally returns two output arguments result and status Ifthe maple call succeeds Maple returns the result in the result 2 106 Using Maple Functions argument and zero in the status argument If the call fails Maple returns an error code a positive integer in the status argument and a corresponding warning error message in the result argument For example the Maple discrim function calculates the discriminant of a polynomial and has the syntax discrim p x where p is a polynomial in x Suppose you forget to supply the second argument when calling the discrim function syms abc x result status maple discrim a x 2 b x c Maple returns result Error in discrim invalid arguments status 2 If you then include x result status maple discrim a x 2t b xtc x you get the following result 4 a c b 2 status 0 2 107 2 Using the Symbolic Math Toolbox Extended Symbol
147. variable you can specify the variable for which you want to make the substitution For example to substitute the value x 3 in the symbolic expression syms x y f x 2 y 5 x sqrt y enter the command subs f x 3 This returns ans 9 y 15 y 1 2 1 7 1 Getting Started On the other hand to substitute y 3 enter subs f y 3 ans 3 x 2 5 x 3 1 2 The Default Symbolic Variable If you do not specify a variable to substitute for MATLAB chooses a default variable according to the following rule For one letter variables MATLAB chooses the letter closest to x in the alphabet If there are two letters equally close to x MATLAB chooses the one that comes later in the alphabet In the preceding function subs f 3 returns the same answer as subs f x 3 You can use the findsym command to determine the default variable For example syms s t g s t findsym g 1 returns the default variable ans t See Substitutions on page 2 50 to learn more about substituting for variables Symbolic and Numeric Conversions Symbolic and Numeric Conversions Consider the ordinary MATLAB quantity t 0 1 The sym function has four options for returning a symbolic representation of the numeric value stored in t The f option sym t f returns a symbolic floating point representation 1 999999999999a 2 4 The r option sym t r returns the rational form 1 10 This is the default set
148. ves on the result returned by simplify one of the simplifications that it tries For example when applied to the Simplifications and Substitutions examples given for simplify simple returns a simpler or at least shorter result in two cases f simplify f simple f 1 a 3 6 a 2 12 at8 1 3 2 a 1 3 a 3 1 3 2 a 1 a syms x y positive log x y log x 1log y log x y In some cases it is advantageous to apply simple twice to obtain the effect of two different simplification functions For example the statements f 1 a 3 6 a 2 12 a 8 1 3 simple simple f return 2 1 a The first application simple f uses radsimp to produce 2 a 1 a the second application uses combine trig to transform this to 1 a 2 The simple function is particularly effective on expressions involving trigonometric functions Here are some examples f simple f cos x 2 sin x 2 1 2 COS X 2 Ssin x 2 3 cos x 2 1 cos x 2 sin x 2 cos 2 x cos x sin x 2 1 2 cos x i sin x cos x i sin x exp i x cos 3 acos x 4 Xx 3 3 Xx 2 49 2 Using the Symbolic Math Toolbox Substitutions There are two functions for symbolic substitution subexpr and subs subexpr These commands syms a x s solve x 3 a x 1 solve the equation x 3 a x 1 0 for x S 1 6 108 12 12 a 3 81 1 2 1 3 2 a 108 12 12 a 3 81 1 2 1 3 1 12 108 12 12 a 3 81 1 2 1 3 a 108 12 1
149. which returns f1 3 x 2 16 x 17 x 2 x 3 2 You can display f1 in a more readable form by entering pretty f1 which returns 3x 16x 17 x x 3 Next set the derivative equal to 0 and solve for the critical points crit_pts solve f1 This returns ans 8 3 1 3 13 1 2 8 3 1 3 13 1 2 It is clear from the graph of f that it has a local minimum at ip eS 1 3 and a local maximum at Za _ 8 y13 3 Note MATLAB does not always return the roots to an equation in the same order You can plot the maximum and minimum of f with the following commands ezplot f hold on Calculus plot double crit_pts double subs f crit_pts ro title Maximum and Minimum of Ti text 5 5 3 2 Local minimum text 2 5 2 Local maximum hold off This displays the following figure Maximum and Minimum of f Local minimum 24 Local maximum 7 2L 4i y y 4 Finding the Inflection Point To find the inflection point of f set the second derivative equal to 0 and solve f2 diff f1 inflec_pt solve f2 double inflec_pt This returns ans 5 2635 1 3682 0 85111 1 3682 0 85111 2 25 2 Using the Symbolic Math Toolbox 2 26 In this example only the first entry is a real number so this is the only inflection point Note that in other examples the real solutions might not be the first entries ofthe answer Since you are only interested in t
150. x tmin tmax or ezmeshc x y Z min max ezmeshc n ezmeshc circ ezmeshc f creates a graph of f x y where fis a symbolic expression that represents a mathematical function of two variables such as x and y The function fis plotted over the default domain 27 lt x lt 22 Heu lt 27 MATLAB chooses the computational grid according to the amount of variation that occurs if the function fis not defined singular for points on the grid then these points are not plotted ezmeshc f domain plots f over the specified domain domain can be either a 4 by 1 vector xmin xmax ymin ymax or a 2 by 1 vector min max where min lt x lt max min lt y lt max If fis a function of the variables u and v rather than x and y then the domain endpoints umin umax vmin and vmax are sorted alphabetically Thus ezmeshc u 2 v 3 0 1 3 6 plots u v over 0 lt u lt 1 3 lt v lt 6 ezmeshc x y z plots the parametric surface x x s t y y s t and z z s t over the square 27 lt s lt 2T 27 lt t lt 2T ezmeshc X y z smin smax tmin tmax or ezmeshc x y z min max plots the parametric surface using the specified domain ezmeshc n plots f over the default domain using an n by n grid The default value for n is 60 ezmeshc circ plots fover a disk centered on the domain Create a mesh contour graph of the expression GE l x y over the domain 5 lt x lt 5 2 pi lt y lt 2 pi
151. x y generates the symbolic expressions r t and f You can use diff int subs and other Symbolic Math Toolbox functions to manipulate such expressions Creating an M File M files permit a more general use of functions Suppose for example you want to create the sinc function sin x x To do this create an M file in the sym directory function z sinc x SINC The symbolic sinc function sin x x This function accepts a sym as the input argument if isequal x sym 0 z 1 else z sin x x end You can extend such examples to functions of several variables See the MATLAB topic Programming and Data Types in the online MATLAB documentation for a more detailed discussion on object oriented programming Using the Symbolic Math Toolbox This section explains how to use the Symbolic Math Toolbox to perform many common mathematical operations The section covers the following topics Calculus p 2 2 Simplifications and Substitutions p 2 41 Variable Precision Arithmetic p 2 58 Linear Algebra p 2 63 Solving Equations p 2 89 Special Mathematical Functions p 2 97 Using Maple Functions p 2 102 Extended Symbolic Math Toolbox p 2 108 Differentiation integration limits summation and Taylor series Methods of simplifying algebraic expressions Numerical evaluation of mathematical expressions to any specified accuracy Inverses determinants eigenvalues singular valu
152. ymsum k 2 return 1 3 k 3 1 2 k 2 1 6 k symsum k returns 1 2 k 2 1 2 k symsum sin k pi k 0 n returns 1 2 sin k n 1 k 1 2 sin k k cos k 1 cos k n 1 1 2 sin k k cos k 1 symsum k 2 0 10 returns 385 symsum x k sym k k 0 inf returns exp x symsum Note The preceding example uses sym to create the symbolic expression k in order to bypass the MATLAB expression parser which does not recognize as a factorial operator See Also findsym int syms 3 121 taylor Purpose Syntax Description Examples 3 122 Taylor series expansion s l taylor f taylor f n v r taylor f n v a 5 ll taylor f n v returns the n 1 order Maclaurin polynomial approximation to f where f is a symbolic expression representing a function and v specifies the independent variable in the expression v can be a string or symbolic variable taylor f n v a returns the Taylor series approximation to f about a The argument a can be a numeric value a symbol or a string representing a numeric value or an unknown You can supply the arguments n v and a in any order taylor determines the purpose of the arguments from their position and type You can also omit any of the arguments n v and a If you do not specify v taylor uses findsym to determine the function s independent variable n defaults to 6 The Taylor series for an analytic function f x about the basepoint x a is give

Download Pdf Manuals

image

Related Search

Related Contents

Lenovo 5 Years Onsite 9x5 NBD  ZenCut Green Manual  Manuale BeComfort L7A8  Hobbes LANtest Pro™ - Burn Technology Limited  Manuale per materasso vacuum mat  Massive Ceiling light 70748/01/31  Curriculum Vitae  Fluke 114 User's Manual  Electrically Released Permanent Magnet Clutch  

Copyright © All rights reserved.
Failed to retrieve file