Home

Symbolic Math Toolbox User's Guide

image

Contents

1. The first zero of f x found by solve is at x 0 We substitute 0 for the symbolic variable in f2 f20 subs f2 x 0 Calculus to compute the corresponding value of f 0 f20 0 0494 A look at the graph of f x shows that this is only a local minimum which we demonstrate by replotting f2 clf ezplot f2 axis 2 pi 2 pi 4 25 1 25 ylabel f2 title Plot of f2 f x hold on plot 0 double f20 ro text 1 0 25 Local minimum The resulting plot Plot of f2 f x I T T 1 ka A 0 5F a 0 ey a Local minimum 0 5 F 4 14 4 9 1 5 4 igh 4 2 5 4 3b 4 3 5 4 4b 4 L L 1 L 1 L L 6 4 2 0 2 4 6 1 39 1 Tutorial 1 40 indicates that the global minima occur near x m and x z We can demonstrate that they occur exactly at x z using the following sequence of commands First we try substituting z and z into f x simple subs f3 x pi subs f3 x pi The result ans 0 0 shows that x and z happen to be critical points of f x We can see that x and m are global minima by plotting f2 pi and f2 pi against f2 x mi double subs f2 x pi m2 double subs f2 x pi plot pi m1 go pi m2 go text 1 4 Global minima The actual minima are m1 m2 ans 4 4 as shown in the plot on the following page Calculus Plot of f2 f x T T T 4
2. fourier ifourier ilaplace iztrans laplace ztrans Fourier transform Inverse Fourier transform Inverse Laplace transform Inverse z transform Laplace transform z transform 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 A B A B A A Matrix addition A B adds A and B A and B must have the same dimensions unless one is scalar Subtraction A B subtracts B from A A and B must have the same dimensions unless one is scalar 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 ee 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 iN Array left division A B 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 B Warning messages are produced if x doe
3. gt Xxrea f exp x 2 abs v sin v v oo F f v u fox ye dy fourier f v u oo returns u 1 u 1 atan atan atan u 1 x 2 atan ut1 x 2 x x See Also ifourier laplace ztrans 2 53 funtool Purpose Syntax Description Function calculator funtool funtool isa 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 ELI Figure No 3 Text Fields Thetop of the control panel 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 x Displays the domain used to plot f and g Edit this field to specify a different domain funtool a Displays a constant factor used to modify f see button descriptions in the next section Edit this field to change the
4. Dv u Two equations two output S dsolve Df g Dg h Dh f Three equations output structure S f S g S h Solutions 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 ans tan t C1 To specify an initial condition use y dsolve Dy 1ty 2 y 0 1 This produces y tan t 1 4 pi Notice that y isin 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 Solving Equations Example 3 Here is a second order differential equation with two initial conditions The command y dsolve D2y cos 2 x y y 0 1 Dy 0 0 x produces y 2 3 cos x 2 1 3 4 3 cos x The key issues in this example are the order of the equation and the initial conditions To solve the ordinary differential equation 3 du De U u 0 1 u 0 1 u 0 x simply type u dsolve D3u u u 0 1 Du 0 1 D2u 0 pi x Use D3u to represent d2u dx and D2u 0 for u 0 Several Differential Equations The function dsolve can also handle several ordinary differential equations in several variables w
5. Q 5 51 cos t 4 51 sin t 107 51 exp 51 40 t cosh 1 40 1001 1 2 t 2039 7293 exp 51 40 t 1001 1 2 sinh 1 40 1001 1 2 t Now let s plot the current I1 t and chargea t in twodifferent time domains O lt t lt 10and5 lt t lt 25 The statements subplot 2 2 1 ezplot I1 0 10 title Current ylabel I1 t grid subplot 2 2 2 ezplot Q 0 10 title Charge ylabel Q t grid subplot 2 2 3 ezplot I1 5 25 title Current ylabel I1 t grid text 7 0 25 Transient text 16 0 125 Steady State subplot 2 2 4 ezplot Q 5 25 title Charge ylabel Q t grid text 7 0 25 Transient text 15 0 16 Steady State Integral Transforms generate the desired plots Current t Current Transient Steady State Charge 3 25 2 S15 4 0 5 0 0 2 4 6 8 10 t Charge 0 4 Transient Steady State 10 15 20 25 Note that the circuit s behavior which appears to be exponential decay in the short term turns out to be oscillatory in the long term The apparent discrepancy arises because the circuit s behavior actually has two components an exponential part that decays rapidly the transient component and an oscillatory part that persists the steady state component 1 125 1 Tutorial 1 126 The Z and Inverse Z transforms The one sided z transform of a fun
6. f x z Ra ka n x 2 2 x exp z exp 2 z x 2xe e 1 1 k 1 Z If 55 f x z xX dx iztrans f x k R returns kz e exp z k See Also ifourier ilaplace ztrans 2 71 jacobian Purpose J acobian matrix Syntax R jacobian w v Description jacobian w v computes the acobian of w with respect to v w is 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 ov j 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 2 72 jordan Purpose Syntax Description Examples J ordan canonical form J jordan A V J jordan A jordan A computes the J ordan canonical normal form of A where A is 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 J ordan canonical form V J jordan A computes both J the J ordan canonical form and the similarity transform V whose columns are the generalized eigenvectors Moreover V A V u The statements A 1 3 2 4 V J jordan A return 3 0 0 0 2 1 0 0 2 Then the statements V double V V A V 2 73 See Also 2 74 eig poly 2 2 2 0 4 0 0 0 2 1 0 2 lam
7. 1 5 4 cos x Theezplot function tries to make reasonable choices for the range of the x axis and for the resulting scale of the y axis Its choices can be overridden by an additional input argument or by subsequent axis commands The default domain for a function displayed by ezplot is 27 lt x lt 27 To alter the domain type ezplot f a b This produces a graph of f x for a lt x lt b Let s now look at the second derivative of the function f f2 diff f 2 f2 32 5 4 cos x 3 sin x 2 4 5 4 cos x 2 cos x Calculus Equivalently we can type f2 diff f x 2 The default scaling in ezplot cuts off part of f2 s graph Set the axes limits manually to see the entire function ezplot f2 axis 2 pi 2 pi 5 2 32 5 4 cos x 3 sin x 2 4 5 4 cos x 2 cos x 2 T T T 34 4 From the graph it appears that the values of f x lie between 4 and 1 As it turns out this is not true We can calculate the exact range for f i e compute its actual maximum and minimum The actual maxima and minima of f x occur at the zeros of f x The statements f3 diff f2 pretty f3 1 35 1 Tutorial compute f x and display it in a more readable format 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 We can simplify and this expression using the st
8. 2 3 atan 1 3 tan 1 2 x 2 3 pi round 1 2 x pi T T 2 5F 1 Notice that we use the domain 6 28 6 28 in ezplot rather than the default domain 2z 2x The reason for this is to prevent an evaluation of F1 2 3 atan 1 3 tan 1 2 x at the singular points x z and x a where the jumpsinF andJ donot cancel out one another The proper handling of branch cut discontinuities in multivalued functions like arctan xis a deep and difficult problem in symbolic computation Although MATLAB and Maple cannot do this entirely automatically they do provide the tools for investigating such questions 1 46 Simplifications and Substitutions Simplifications and Substitutions There are several functions that simplify 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 x x x 6 11 6 Here aretheir prettyprinted forms generated by pretty f pretty g pretty h 3 2 x 6x 11x 6 x 1 x 2 x 3 x x x 6 11 6 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 fac
9. Syntax Description Algorithm Function plotter ezplot ezplot ezplot ezplot ezplot ezplot f f min max f xmin xmax ymin ymax X Y X y tmin tmax figure aman am ezplot f plots the expression f f x over the default domain 2r lt x lt 2z 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 O over the default domain 2r lt x lt 2r 27 lt y lt 2n 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 O over min lt x lt max and min lt y lt max Iff is 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 plots u2 v2 1 0 over 3 lt u lt 2 2 lt V lt 3 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 t lt tmax ezplot figure plots the given function over the specified domain in the Figure wi
10. 2 118 symsize 2 108 symsum 1 30 2 120 T taylor 1 31 2 122 2 122 Taylor series 1 31 Taylor series expansion 2 122 taylortool 2 125 Tony s trick 1 84 trace mode 1 141 transpose array 2 9 matrix 2 9 tril 2 126 triu 2 127 U unreal property 1 10 V variable precision arithmetic 1 64 1 68 2 128 setting accuracy of 2 21 variable precision numbers 1 66 vpa 1 66 2 128 Z zeta 2 130 ztrans 2 131 z transform 1 126 1 129 2 131
11. A a b b c a c a b SinceA is drculant the sum over each row and column is the same Let s check this for the first row and second column The command sum A 1 returns ans at bt c The command sum A 1 sum A 2 This is a logical test returns ans 1 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 Getting Started The Default Symbolic Variable When manipulating mathematical functions the choice of the independent variable is often clear from context For example consider the expressions in the table below Mathematical Function MATLAB Command f x f x n g sin at b g sin a t b h J z h besselj nu z If we ask for the derivatives of these expressions without specifying the independent variable then by mathematical convention we obtain f nx g a cos at b and h J z v z J v Z Let s assume that the independent variables in these three expressions are x t and z respectively The other symbols n a b and v are usually regarded as constants or parameters If however we wanted to differentiate the first expression with respect to n for example
12. A is the reduced row echelon form of the symbolic matrix A rref sym magic 4 returns 1 0 O 1 0 1 0 3 0 0 1 3 0 0 O 0 2 103 rsums Purpose Syntax Description Examples 2 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 256 rsums exp 5 x 2 creates the following plot a Figure No 1 EE exp 54 0 381913 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 S is 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
13. Gm 2 25 eig eig vpa R returns ans 1020 0490184299968238463137913055 56512999999999999999999999999800e 28 98048640721516997177589097485157e 1 1000 0000000000000000000000000002 1000 0000000000000000000000000003 1019 9019513592784830028224109024 1020 0000000000000000000000000003 1020 0490184299968238463137913055 The statements e A sym gallery 5 v lambda eig A return V 0 21 256 71 128 973 256 1 lambda 0 0 0 0 0 goooo o OOOO O o000o0 2 20 0 0O O See Also jordan poly svd vpa 2 26 expm Purpose Syntax Description Examples 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 Janet cos t 2 27 expand Purpose Syntax Description Examples See Also 2 28 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 xty returns cos x cos y sin x sin y expand exp atb 2 returns exp a 2 exp a b 2 exp b 2 expand log a b sqrt c returns log a 1log b 1 2 1
14. Using MATLAB guide Calculus Calculus The Symbolic Math Toolboxes provide functions to do the basic operations of calculus differentiation limits integration summation and Taylor series expansion The following sections outline these functions Differentiation Let s create a symbolic expression syms a x f sin a x Then df diff f differentiates f with respect to its symbolic variable in this case x as determined by findsym df cos a x a To differentiate with respect to the variable a type dfa diff f a which returns df da dfa cos a x x Mathematical Function MATLAB Command c f x n fi nx 1 diff f or diff f x g acos at b g acos a t b g acos at b diff g or diff g t h J z h besselj nu z h J z w z J vy 2 diff h or diff h z 1 17 1 Tutorial To calculate the second derivatives with respect to x and a respectively type diff f 2 or diff f x 2 which returns ans sin a x a 2 and diff f a 2 which returns ans sin a x x 2 Define a b x n t and theta in the MATLAB workspace using the sym command The table below illustrates the diff command f diff f x n x n n x sin a t b a cos a t b exp i theta i exp i theta To differentiate the Bessel function of the first kind besse1j nu z with respect to z type syms nu z b besselj nu z db diff b which returns db bes
15. 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 derivative of y x or y t nitial ooundary 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 C2 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 MATLAB s ode23 or ode45 function dsolve Dy a y returns exp a t C1 dsolve Df f sin t returns 1 2 cos t 1 2 sin t exp t C1 2 23 dsolve Diagnostics See Also dsolve Dy 2 y 2 1 s returns sin s C1 dsolve Dy a y y 0 b returns exp
16. returns w wta f sin a n ztrans f w returns sin a w 1 w cos a w 2 2 132 ztrans Z Transform MATLAB Operation f n k a coskn Zifl fn kx k 0 2 n x e cosn x 2 n z x 2e cosn x e 2n f exp k n 2 cos k n ztrans f k x returns x exp n 2 cos n x 2 x exp n 2 cos n x 2 exp 2 n 2 See Also fourier iztrans laplace 2 133 ztrans Compatibility Guide Compatibility with Earlier Versions A 2 Obsolete Functions 2 20420 A 3 A Compatibility Guide Compatibility with Earlier Versions Earlier versions of the Symbolic Math Toolboxes work with version 4 0 or 4 1 of MATLAB and version V release 2 of Maple The goal was to provide access to Maple with a language syntax that is familiar to MATLAB users This was been done without modifying either of the two underlying systems However it is not possible to provide completely seamless integration without modifying MATLAB For example if f and g arestrings representing symbolic expressions we would prefer to use the notation f g for their sum instead of symadd f g But f g attempts to add the individual characters in the two strings rather than concatenate them with a plus sign in between Similarly if Ais a matrix whose elements are symbolic expressions we would prefer to use A i j toaccess a individual expression instead of sy
17. syms x k f exp k x 2 int f x inf inf Equivalently inf f inf inf 1 27 1 Tutorial 1 28 result in the output Definite integration Can t determine if the integral is convergent Need to know the sign of gt k 2 Will now try indefinite integration and then take limits Warning Explicit integral could not be found ans int exp k 2 x 2 x inf inf In the next section you well see how to make k a real variable and therefore k positive Real Variables via sym Notice that Maple is not able to determine the sign of the expression k 2 How does one surmount this obstacle The answer istomakek a real variable using the sym command One particularly useful feature of sym namely the real option allows you to declare k to bea real variable Consequently the integral above is computed in the toolbox using the sequence syms k real Be sure that x has been declared a sym int f x inf inf which returns ans signum k k pi 1 2 Notice that k is now a symbolic object in the MATLAB workspace and a real variable in the Maple kernel workspace By typing clear k you only clear k in the MATLAB workspace To ensure that k has no formal properties that is to ensure k is a purely formal variable type syms k unreal This variation of the syms command clears k in the Maple workspace You can also declare a sequence of symbolic variables w y x z to be real using syms w x
18. 0 n 1 hn Pez winery k 1 Hyperbolic Sine and Shi z Cosine Integrals Chi z Zz Shi z ewer 0 Z Chi z y mae 0 dt mfunlist Table 2 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Generalized r n k hypergeom n d x n1 n2 are i l Hypergeometric ee A real Function A nj where d1 d2 are F n d z n n1 n2 real and k 0 rq dj K d d1 d2 non negative dD Incomplete Elliptic Integrals Incomplete Gamma Function Logarithm of the Gamma Function i 1 where j and m are the number of terms in n and d respectively Legendre s incomplete elliptic integrals of the first second and third kind I a Z Jet A ldt Z Inr z In 1 2 LegendreF x k LegendreE x k LegendrePi x a k GAMMA z1 z2 1nGAMMA Z O lt x lt Inf a is real Inf lt a lt Inf k is real 0O lt k lt 1 2 91 mfunlist Table 2 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Logarithmic I ntegral Li x x gt 1 x Li x PV ies Ei Inx 0 Polygamma F unction Psi n z n20 n da we 2 gy where w z is the Digamma function Shifted Sine Integral Ssi z Ssi z Si 2 5 2 92 mfunlist Orthogonal Polynomials The following functions require the Maple Orthogonal Polynomial Package They are available only with the Extended Symbolic Math Toolb
19. 14159265358976 14159265358767 14159265349961 14159265052655 14159256925492 14159075458606 14155754359918 14106044663470 13504054399745 07790297231120 69162158686066 20968137605669 HSFNWWWWWWWWWWW WW W The first four singular values appear equal to z to the available precision 1 83 1 Tutorial 1 84 The most obvious way of generating the 5 by 5 matrix A whose i j th element 1 i j 1 2 is for i 1 n for j tin A i j sym 1 i j 1 2 end end MATLAB s matrix based computational paradigm however permits other more efficient approaches Consider the famous among MATLAB afficianados Tony s Trick ones n 1 i 1 n j 1in sym 1 i m j m 1 2 m A The most efficient way to generate this matrix is with the purely numeric statements J I meshgrid 1 n A sym 1 I Jt 1 2 Since the elements of A are the ratios of small integers vpa A 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 theresult is 20968137605668985332455685357 69162158686066606774782763594 07790297231119748658424727354 138504054399744654843898901 261 14106044663470063805218371924 1415575435991 8083691 050658260 14159075458605848728982577119 14159256925492306470284863102 14159265052654880815569479613
20. Also coe oe oe digits eig vpa 500 671 500 224 500 224 500 671 500 224 500 671 500 671 500 224 34 0 0 0 0 17 9 0 O 0 4 47 0 0 0 500 500 671 224 500 500 224 671 500 500 224 671 500 500 671 224 0 0 0 835e 15 2 115 sym Purpose Syntax Description 2 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 anumeric 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 tox 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 anddelta 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 t
21. As above use the double command X double s which produces X 0 8863 1 8979 2 0766 1 51511 2 0766 1 51511 Are these the only two real solutions of tan x sin x 2 for x e 2z 2x To answer this question plot the function against the real axis ezplot tan x sin x 2 hold on w 2 pi pi 2 2 pi plot w O w r 5 Solving Equations The resulting plot tan x sin x 2 1 99 1 Tutorial shows that tan x sin x 2 has four intersections with the real axis for x e 27 27 Since thefirst two elements of the solution vector X are real we can plot these on our current figure RX X 1 X 2 plot RX 0 RX g0 text 1 8 0 4 X 2 text 1 0 0 4 X 1 tan x sin x 2 1 100 Solving Equations To display the remaining two roots in the interval 2z 2x subtract 2x from X 1 0 8863 add 2x toX 2 1 8970 and plot the points PX X 1 2 pi X 2 2 pi plot PX O PX kO hold off tan x sin x 2 1 101 1 Tutorial Again for f cos 2 x sin x 1 S solve f plotting s and f using ezplot f hold on plot w 0 w r plot double s O double s gO cos 2 x sin x 1 1 102 Solving Equations makes it clear that solve does not return all solutions Plotting the points 2 pi 11 6 pi 7 6 pi p along with f shows that these points are also sol
22. 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 2 82 maple Math Toolbox factor statement then invokes Maple s expression factoring statement See Also mhelp procread 2 83 mapleinit Purpose Syntax Description 2 84 Initialize the Maple kernel mapleinit mapleinit determines the path tothe 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 ME X file interface to Maple You can edit the mapleinit M file to change the pathname to the Maple library You dothis by changing the initstring variablein mapleinit mtothe full pathname of the Maple library as described below UNIX Suppose you already have a copy of the Library for Maple V Release 4 in the UNIX directory usr local Maple 1lib You can edit mapleinit m to contain maplelib usr local Maple 1lib and then delete the copy of the Maple Library that is distributed with MATLAB MS Windows Suppose you already have a copy of the Library for Maple V Release 4 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 MATLAB Macintosh Suppose you already have a copy of the Library for Mapl
23. They satisfy A V 1 1 V 1 A V 2 3 2 V 3 The other two columns of V are generalized eigenvectors of grade 2 They satisfy A V 2 1 V 2 V 1 A V 1 4 2 V 4 V 3 In mathematical notation with vj v j the columns of v and eigenvalues satisfy the relationships A A l v gt Vy Singular Value Decomposition Only the variable precision numeric computation of the singular value decomposition is available in the toolbox One reason for this is that the formulas that result from symbolic computation are usually too long and complicated to be of much use If A is a symbolic matrix of floating point or variable precision numbers then S svd A 1 82 Linear Algebra 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 Let s look at the n by n matrix A with elements defined by A i j 1 i j 1 2 There are several interesting ways to generate this matrix A They are described below For n 5 the matrix is ae 2 2 3 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 8 2 It turns out many of the singular values of these matrices are close to n When n 16 the MATLAB floating point computation svd A results in 14159265358979 14159265358979 14159265358979 14159265358979
24. 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 Iff is 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 u2 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 2r lt S lt 2n 27 lt t lt 21 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 f over a disk centered on the domain rotate3d is always on To rotate the graph click and drag with the mouse Create a mesh contour graph of the expression 2 35 ezmeshc f xy l1 x y over the domain 5 lt x lt 5 2 pi lt y lt 2 pi 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 5 and elevation 26 y 1 x y LZ wee IRI RL SoS Sc fa LZ ZZ Ay a LOR LEQ 149 LSR AL Ve alt Vibe Ny Ny Bes 4y He See Also ezcontour ezcontourf ezmesh ezplot ezplot3 ezpolar ezsurf ezsurfc meshc 2 36 ezplot Purpose
25. are twosided that is the result is the same whether the approach is from the right or left of a limits at the singularities of f x are not Hence the three limits lim E lim k and lim L x gt 0X xo X x gt 0 yield the three distinct results undefined and respectively In the case of undefined limits the Symbolic Math Toolbox returns NaN not a number The command limit 1 x x 0 Equivalently limit 1 x returns ans NaN The command limit 1 x x 0 left returns ans inf Calculus while the command limit 1 x x 0 right returns ans inf Observe that the default case limit f is thesameas limit f x 0 Explore the options for the limit command in this table Here we assume that f is a function of the symbolic object x Mathematical Operation MATLAB Command lim f x limit f x70 lim f x limit f x a or xa limit f a lim f x limit f x a left x gt a lim f x limit f x a right x gt a Integration If f is a symbolic expression then int f attempts to find another symbolic expression F so that diff F f That is int f returns theindefiniteintegral or antiderivative of f provided one exists in closed form Similar to differentiation int f v 1 23 1 Tutorial 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 Mathemat
26. c Maple returns result Error in discrim invalid arguments status 2 If we then include x result status maple discrim a x 2 b x c x we get the following result 4 a ctb 2 status 0 Extended Symbolic Math Toolbox Extended Symbolic Math Toolbox 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 andconditionals if elif else fi Pleasesee 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 please consult these references Char B W K O Geddes G H Gonnet B L Leong M B Monagan and S M Watt First Leaves A Tutorial Introduction to Maple V Springer Verlag NY 1991 Char B W K O Geddes G H Gonnet B L Leong M B Monagan and S M Watt Maple V Language Reference M anual Springer Verlag NY 1991 Char B W K O Geddes G H Gonnet B L Leong M B Monagan and S M Watt MapleV Library Reference Manual Springer Verlag NY 1991 Heck A Introduction to Maple Springer Verlag NY 1996 Nicolaides R and N Walkington Maple A Comprehensive Introd
27. equations p 0 anddp dx 0 and produces sol t 4x1 sym x 4x1 sym Find t now by tau double sol t 2 which reveals that the second element of sol t is the desired value of t format short tau 7 8379e 07 Therefore the second element of sol x sigma double sol x 2 is the double eigenvalue sigma 1 5476 Linear Algebra Let s verify that this value of t 7 8379e 07 does indeed produce a double eigenvalue at o 1 5476 To achieve this substitute t for t in the perturbed matrix A t A tE and find the eigenvalues of A t That is e eig double subs A t tau e 1 5476 1 5476 2 9047 confirms that o 1 5476 is a double eigenvalue of A t for t 7 8379e 07 1 95 1 Tutorial Solving Equations Solving Algebraic Equations If S is 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 a bc x S a x 2 b x C 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 F or example if you want to solve s for b use the command b solve S b which returns b a x 2 c x Note that these examples assume equations o
28. ezpolar ezsurf ezsurfc 2 32 ezmesh Purpose Syntax Description Remarks Examples 3 D mesh plotter ezmesh Ff ezmesh f domain ezmesh x y Z ezmesh x y z Smin smax tmin tmax or ezmesh x y z min max ezmesh n ezmesh Circ 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 f is plotted over the default domain 2r lt x lt 2n 2n lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is not defined singular for points on the grid then these points are not plotted ezmesh 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 Iff is 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 u2 v over O 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 2r lt S lt 2n 2n lt t lt 21 ezmesh x y zZ Smin smax tmin tmax or ezmesh x y z min max plots the parametric surface using the specified domain ezmesh n plots f over the default domain using an n by n grid The default va
29. happens if the matrix is symmetric or if it has distinct eigenvalues Some nonsymmetric matrices with multiple eigenvalues cannot be diagonalized The J ordan 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 J ordan 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 Thej ordan form is extremely sensitive to perturbations Almost any change in A causes its J ordan form to be diagonal This makes it very difficult to compute theJ ordan 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 12 32 66 116 6 19 41 73 Then V J jordan A 1 81 1 Tutorial 6 8 11 8 4 7 10 7 j 1 1 0 0 0 1 0 0 0 0 2 1 0 0 O 2 Therefore A has a double eigenvalue at 1 with a single J ordan block anda double eigenvalue at 2 also with a single J ordan block The matrix has only two eigenvectors V 1 and V 3
30. is a scalar symbolic object f ifourier F v u takes F to bea function of v and f to be a function of u instead of the default w and x respectively oo f u 1 2n F wedv 0oo ifourier Examples Inverse Fourier Transform MATLAB Command 2 2 f w a 4a oo FI fowe dw 0o _ a ean Jt gon e Fg gooe ax _ T 14 t w f w 2e 1 Ffi foe dw p 2 _ 2 nd t 1 t n 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 1 t 2 pi f 2 exp abs w 1 simple ifourier f t returns 2 pi Dirac t pi Dirac t t 2 pitpi t 2 2 61 ifourier Inverse Fourier Transform MATLAB Command _w2 v SINV f w v e a W real oo FIIO fw we dv oo t 1 t 1 zlatan z atan Ww Ww 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 2 62 ilaplace Purpose Syntax Description Inverse Laplace transform F ilaplace L F ilaplace L y F ilaplace L y x F ilaplace L istheinverse Laplace transform of the scalar symbolic object L with default independent variables The default return is a function of t The inverse Laplace transform is applied to a func
31. 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 1 57 1 Tutorial 1 58 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 1 3 1 2 1 6 sigma 1 3 2 a sigma 1 3 1 12 sigma 1 3 a sigma 1 3 1 2 i 3 1 2 1 6 sigma 1 3 2 a sigma 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 1084 12 12 a 3 81 1 2 Simplifications and Substitutions subs Let s find the eigenvalues and eigenvectors of a circulant matrix A syms abc A a b c bc a cabl 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 ata 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 Suppose we want to replace the rather lengthy exp
32. of 79 pretty S n prettyprints S using line width n instead of 79 The following statements A sym pascal 2 B eig A pretty B return A 1 1 1 2 B 3 2 1 2 5 1 2 3 2 1 2 5 1 2 1 2 3 2 1 2 5 1 2 3 2 1 2 5 procread Purpose Syntax Description Examples See Also 2 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 sends the resulting string to Maple The Extended Symbolic M ath 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 amp 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 is2 rank sym magic 4 is 3 2 101 real Purpose Symbolic real part Syntax real Z Description real Z is thereal part of a symbolic Z See Also conj imag 2 102 rref Purpose Syntax Description Examples Reduced row echelon form rref A rref
33. 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 2 105 simplify Purpose Syntax Description Examples See Also 2 106 Symbolic simplification R simplify S simplify S simplifies each 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 sic Kiat Jo t 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 2 107 size Purpose Syntax Description Examples See Also 2 108 Symbolic mat
34. representation of the pie src file Extended Symbolic Math Toolbox You can use the pie function using the maple function The statement p maple pie 5 returns a symbolic object p 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 It is interesting to change the computation from symbolic to numeric The assignment to the variable b in the second executable line is key If the assignment statement is simply b sqrt 1 2 the entire computation is done symbolically But if the assignment statement is modified to include decimal points b sqrt 1 2 the entire computation uses variable precision arithmetic at the current setting of digits If this change is made then digits 100 procread pie src p maple pie 5 produces a 100 digit result p 3 14159265358979323 5628703211672038 The last 16 digits differ from those of z 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 piei n p maple pie n 1 147 1 Tutorial Precompiled Maple Procedures When Maple loads a source ASCII text procedure into its workspace it compiles translates the procedure into an internal format You can subsequently use the maple function to save the procedures in the internal format The advantage is you avoid recompiling the procedure the n
35. s v a b are the definite summations of the symbolic expression from v a to v b The commands syms kn x symsum k z 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 0O inf returns exp x symsum Note The preceding example uses sym to create the symbolic expression k in order to bypass MATLAB s expression parser which does not recognize as a factorial operator See Also findsym int syms 2 121 taylor Purpose Syntax Description Examples 2 122 Taylor series expansion 5 l taylor f taylor f n v taylor f n v a 5 5 LL i 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 funct
36. the actual function g xd 1 0 05 3 yd subs g x xd ezplot t 1 3 hold on plot xd yd r title Taylor approximation vs actual function legend Function Taylor Taylor approximation vs actual function T T T T T Function Taylor Special thanks to Professor Gunnar Backstrgm of UMEA in Sweden for this example Then the command pretty T prints T in a format resembling typeset mathematics 2 4 49 6 1 9 2 81 x 5 1458 x x 131220 1 32 Calculus Extended Calculus Example The function 1 FOO 5 4cos x provides a starting point for illustrating several calculus operations in the toolbox It is also an interesting function in its own right The statements syms x f 1 5 4 cos x store the symbolic expression defining the function in f Plotting Symbolic Functions The Symbolic M ath Toolbox offers a set of easy to use commands for plotting symbolic expressions including planar curves ezplot contours ezcontour and ezcontourf surfaces ezsurf ezsurfc ezmesh and ezmeshc polar coordinates ezpolar and parametrically defined curves ezplot and ezplot3 and surfaces ezsurf See Chapter 2 Reference for a detailed description of these functions The rest of this section illustrates the use of ezplot to graph functions of the form y x 1 33 1 Tutorial The function ezplot f produces the plot of f x as shown below
37. try the command fourier del x w The Fourier transform turns differentiation into exponentiation and in particular 4 Feo wy w dx To see a demonstration of this property try this syms w x fourier diff sym y x x 4 X w which returns ans w 4 fourier y x x w Note that you can call the fourier command with one two or three inputs see the reference pages for fourier With a single input argument fourier f returns a function of the default variable w If the input argument is a function ofw fourier f returns a function of t All inputs to fourier must be symbolic objects We now see that applying the Fourier transform to the differential equation above yields the algebraic equation w er vow A w or Y w A w G w where Ce ae w oe g x wW w E for some function g x That is g is the inverse F ourier transform of G g F LG w x Integral Transforms The Symbolic Math Toolbox counterpart tothe IFT is ifourier This behavior of ifourier parallels fourier with one two or three input arguments see the reference pages for ifourier Continuing with the solution of our differential equation we observe that the ratio i El is a relatively large number since the road bed has a high stiffness constant kanda rail road track has a low elasticity E and beam constant I We make the simplifying assumption that K EI 1024 This is done to ease the computation
38. varied This particular setting involves numerical analysis and perturbation theory but the techniques illustrated are more widely applicable In this example we consider a 3 by 3 matrix A whose eigenvalues are 1 2 3 First we perturb A by another matrix E and parameter t A gt A tE Ast Linear Algebra increases from 0 to 10 the eigenvalues Aq 1 Ap 2 43 3 change to 1 1 5596 0 2726i Ag 1 5596 0 2726i A3 2 8808 T T 0 3 1 4 x 0 2 J 0 1 J A 1 2 A 3 OF O Q x O 4 X 3 0 1 0 2 aS x 0 3 H X 2 4 i L L L L i 0 0 5 1 15 2 2 5 3 3 5 This in turn means that for some value of t q 0 lt t lt 10 the perturbed matrix A t A tE has a double eigenvalue a A gt Let s 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 matrix whose eigenvalues are sensitive to the effects of roundoff errors introduced during their computation The actual computed 1 87 1 Tutorial 1 88 eigenvalues may vary from one machine to another but on a typical workstation the statements format long e eig A produce e 0 99999999999642 2 00000000000579 2 99999999999780 Of course the example was created sothat its eigenvalues areactually 1 2 and 3 Note that three or four digits have been lost to roundo
39. we could write d din ant or an to get x In x By mathematical convention independent variables are often lower case letters found near the end of the Latin alphabet e g x y or z This is the idea behind findsym a utility function in the toolbox used to determine default symbolic variables Default symbolic variables are utilized by the calculus simplification equation solving and transform functions To apply this utility to the example discussed above type syms ab nnut x z f x n g Sin a t b h besselj nu z This creates the symbolic expressions f g and h to match the example To differentiate these expressions we use diff diff f 1 13 1 Tutorial returns ans x n n x See the section Differentiation for a more detailed discussion of differentiation and the diff command Here as above we did not specify the variable with respect to differentiation H ow did the toolbox determine that we wanted to differentiate with respect to x The answer is the findsym command findsym f 1 which returns ans Xx Similarly findsym g 1 and findsym h 1 return t and z respectively Here the second argument of findsym denotes the number of symbolic variables we want to find in the symbolic object f using the findsym rule see below The absence of a second argument in findsym results in a list of all symbolic variables in a given symbolic expression We seethis demonstrated below T
40. x Z incident plane wave diffraction screen line of observation X9 0 29 The intensity of the diffracted wave is given by aleo E0 Special Mathematical Functions where k xX 2Zo and C and S are the F resnel cosine and sine integrals C t f Z t S sin 5 t H ow does the intensity of the diffracted wave behave along the line of observation Since k and zg are constants independent of x we set k 2z S and assume an initial intensity of l 1 for simplicity 1 133 1 Tutorial 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 C 1 2 2 S 1 2 2 I 10 2 T plot x I xlabel x ylabel I x title Intensity of Diffracted Wave Intensity of Diffracted Wave 0 87 0 67 0 4 0 2 We see from the graph that the diffraction effect is most prominent near the edge of the diffraction screen x 0 as we expect Note that values of x that are large and positive correspond to observation points far away from the screen Here we would expect the screen to have no effect on the incident wave That is the intensity of the diffracted wave should bethesameas 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 we
41. x 3 1 Simplifications and Substitutions As an aside at this point we mention that factor can also factor symbolic objects containing integers This is an alternative to using the factor function in MATLAB s specfun directory For example the following code segment one 1 for n 1 11 N n sym one 1 ones 1 n end N factor N displays the factors of symbolic integers consisting of 1s I 1 e l 11 Ci 111 3 37 i 1111 11 101 i 11111 41 271 i 111111 3 7 11 13 37 1111111 239 4649 i 11111111 11 73 101 137 111111111 3 2 37 333667 4111111111 11 41 271 9091 11111111111 513239 21649 1 51 1 Tutorial 1 52 simplify 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 H ere are some examples f simplify f x x x 6 11 6 X 3 6 x 2 11 x 6 1 x 2 1 x x 1 1 a 3 6 a 2 12 at8 1 3 2 at 1 3 a 3 1 3 syms x y positive log x y log x log y exp x exp y exp x ty besselj 2 x 0 2 besselj 1 x x besselj 0 x gamma x 1 x gamma x 0 cos x 2 sin x 2 1 simple The
42. y z real Calculus In this case all of the variables in between the words syms and real are assigned the property real That is they are real variables in the Maple workspace Mathematical Operation MATLAB Commands f x e foodx Fck dk 1 f f x dx go 6 co J geodx syms k x f exp k x int f or int f x int k int f x 0 1 or int f 0 1 syms k real g exp k x 2 int g x inf inf or int g inf inf 1 29 1 Tutorial Symbolic Summation You can compute symbolic summations when they exist by using the symsum command For example the p series 1 1 l1 5 5 2 3 adds to n2 6 while the geometric series 1 x x adds to 1 1 x provided x lt 1 Three summations are demonstrated below syms x k s1 symsum 1 k 2 1 inf s2 symsum x k k 0 inf s1 1 6 pi 2 s2 1 x 1 Calculus Taylor Series The statement T taylor f 8 returns 1 9 2 81 x 2 5 1458 x 4 49 131220 x 6 which is all the terms up to but not including order eight O x in the Taylor series for f x 5 x a fn Ka n 0 Technically T is a MacLaurin series since its basepointisa 0 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 1 31 1 Tutorial Let s plot these functions together to see how well this Taylor approximation compares to
43. z Lc a von oe where 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 numericif 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 hypergeom hypergeom n n 1 2 1 z 2 returns expand cos n acos z which is T n z the n th Chebyshev polynomial 2 59 ifourier Purpose Syntax Description 2 60 Inverse Fourier integral transform f ifourier F f ifourier F u f ifourier F v u f ifourier F is theinverse F ourier transform of the scalar symbolic object F with default independent variablew The default return is a function of x The inverse Fourier transform is applied to a function of w and returns a function of x F F w gt f f x If F F x ifourier returns a function of t f f t By definition oo f x 1 2n Fwa w dw f ifourier F u makes f a function of u instead of the default x oo f u 1 2n F we4dw oo Here u
44. z p 0 p 1 Pz 1 2 to obtain Zeq Z 2 PZ 1 2Z 2 2 Z z PzZ 1 zZ Pz Collecting terms eq collect Zeq Pz yields eq z 2 z 1 Pz z 2 z Now solve for Pz P solve eq Pz to obtain P z z 1 z 2 z 1 Torecover p n we take the inverse z transform of P p iztrans P z n p simple p pretty p n 1 2 n n 1 2 n 2 5 2 2 5 2 3 10 1 2 3 10 1 2 1 2 n 1 2 n 1 2 n 1 2 n 5 1 5 1 5 1 5 1 1 127 1 Tutorial Finally let s plot p m 1 10 y double subs f n m plot m y ro title Rabbit Population xlabel years ylabel f n grid on to show the growth in rabbit population over time Rabbit Population 150 T T T T T T T T 100 4 50 E 0 Q i i i i i i i 1 2 3 4 5 6 7 8 9 10 years References Andrews L C B K Shivamoggi Integral Transforms for Engineers and Applied Mathematicians Macmillan Publishing Company New York 1986 Crandall R E Projects in Scientific Computation Springer Verlag Publishers New York 1994 1 128 Integral Transforms Strang G Introduction to Applied Mathematics Wellesley Cambridge Press Wellesley MA 1986 1 129 1 Tutorial Special Mathematical Functions Over fifty of the special functions of classical applied mathematics are available in the toolbox These functions are accessed with the
45. zeta X evaluates the Zeta function at the elements of xX a numeric matrix or a symbolic matrix The Zeta function is defined by co 1 C w L K 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 2 130 ztrans Purpose Syntax Description z transform F ztrans f F ztrans f w F ztrans f k w F ztrans f isthez transform of the scalar symbol f with default independent variable n The default return is a function of z f f n F F z The z transform of f is defined as f n F z ya Z 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 f n MSA 0 F ztrans f k w takes f to bea function of the symbolic variable k f k F w ry 2 131 ztrans Examples Z Transform MATLAB Operation f n n zif fmz n 0 a i l g z a Zig g z w z 0 sinan gt 5 Il zif f nw n 0 _ wsina Se 1 2wcosa w f n 4 ztrans Ff returns Z Z 34 11 Z 2 11 Z 1 z 1 5 ztrans g
46. 0 Q 0 4 2 3 1 6 1 4 15 2 returns NQ s laplace Q t t s 2 1 5 s 2 1 4 5 laplace Q t t s 2 5 laplace 1I1 t t s To solve for laplace I1 t t s and laplace Q t t s we make a final pair of substitutions First replace the strings laplace I1 t t s and laplace Q t t s bythe syms LI1 and LQ using NI subs NI1 laplace I1 t t s laplace Q t t s L1I1 LQ to obtain NI1 s LI1 35 2 5 4 s LQ 5 4 LI1 Collecting terms NI1 collect NI1 LI1 Integral Transforms gives NI1 s 5 4 LI1 35 2 5 4 s LQ A similar string substitution NQ subs NQ laplace 1I1 t t s laplace Q t t s L1I1 LQ yields NQ s LQ 2 1 5 s 2 1 4 5 LQ 2 5 LI1 which after collecting terms NQ collect NQ LQ gives NQ 4 5 s LQ 2 5 LI1 2 1 5 s 2 1 Now solving for LI1 and La LI1 LQ solve NI1 NQ LI1 LQ we obtain LIi 5 59 s 56 56 s 2 60 s 3 51 s 3 40 S 2 51 s 20 20 s 4 LQ 44 s 195 190 s 2 40 s 3 51 s 3 40 S 2 51 s 20 20 s 4 To recover 11 and Q we need to compute the inverse Laplace transform of LI1 and LQ Inverting L11 Ii ilaplace LI1 s t 1 123 1 Tutorial 1 124 produces I1 5 51 sin t 15 exp 51 40 t cosh 1 40 1001 1 2 t 1465 7293 exp 51 40 t 1001 1 2 sinh 1 40 1001 1 2 t 5 51 sin t Inverting LQ Q ilaplace LQ s t yields
47. 1 1 E0 3 E0 H 3 2 1 E0 4 E0 ccode latex pretty 1 E0 3 E0 1 E0 4 E0 1 E0 5 E0 fourier Purpose Syntax Description Fourier integral transform F fourier f fourier f v F fourier f u v nm ll 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 iwx F w foge 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 faye dx 0oo 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 oo ivu F v fe du 0oo 2 51 fourier Examples 2 52 Fourier Transform MATLAB Command f g Fifl w f fooe ax oo w 4 Te gw e oo FI gwe aw 4 1 t f x xe oo Fif u foe ax 4i 2 aa f exp x 2 fourier fT 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 fourier Fourier Transform MATLAB Command f j sinv syms x real xv e
48. 11 The Default Symbolic Variable 0 0 00 ce eee 1 13 Creating Symbolic Math Functions 00000 1 15 Using Symbolic Expressions 000 cee eee eee 1 15 Creating an M File 0 0 0 0 cece eee eee 1 16 Calculus icc22 20h ean ke a aii tag fee T a aAa A 1 17 Differentiation 0 00 c cece 1 17 LIMITS ei cc Me a eae a ee ee ww A aA ee Vw 1 21 Integrati n wid caeaureei awakes Sowa eee dare ee 1 23 Integration with Real Constants 04 1 26 Real Variables via SYM 0000 e cee eee 1 28 Symbolic Summation 000000 c eee ee 1 30 Taylor SepjeS sc sc 2 ba ae Pee Se eee eee ee ee 1 31 Extended Calculus Example 00 0c eee eee eee 1 33 Plotting Symbolic Functions 00000 e eee eee 1 33 Contents Simplifications and Substitutions 1 47 SIMPLIFICALIONS kpina a eed oa ee ha Paar aes D AARI E aed 1 47 CONE sine d oh ad te Pek reise eke eee a 1 48 SPANA iia uci tot dination gins E Ea EE ns EE A marne ADEA 1 49 RON es Pek a eel cee eG eke Mieke e beens 1 49 fator roeie aa T eee aes yee pee ese pe need 1 50 SIMPLIfY oe cee Sed ee ben BEES ee a 1 52 SIMPE efi newer ig beeen eid pee eed ia Giant oie 1 52 SUbStItULIONS sisses ee dee Cee eA ee ee 1 56 SUDEXDr ord ine deeds sae eee eee ota Se ees 1 56 SUDS Hirsi thie on Gas a Sa a sees Qn Se rates wr a ee 1 59 Variable Precision Arithmetic 1 64 OVERVIEW a tiga ee S
49. 14159265349961053143856838564 14159265358767361 712392612384 14159265358975439206849907220 14159265358979270342635559051 14159265358979323325290142781 14159265358979323843066846712 14159265358979323846255035974 WOWWWWWWWWWAWWWWDND I S E ee ee ee ee ee ee ee ee ee ee There are two ways to compare S with pi the floating point representation of m 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 double pi ones 16 1 S pi double S 1 85 1 Tutorial 1 86 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 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 pixeps which is 6 9757e 16 either column confirms our 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
50. 147 mapleinit 2 84 matrix addition 2 8 matrix condition number 1 72 matrix diagonal 2 18 matrix exponential 2 27 matrix inverse 2 68 matrix lower triangle 2 126 matrix rank 2 101 matrix size 2 108 matrix upper triangle 2 127 M file creating 1 16 mfun 1 130 2 85 mfunlist 2 86 mhelp 2 94 multiplication array 2 8 matrix 2 8 N null 1 72 2 95 null space 1 72 null space basis 2 95 numden 2 96 numeric symbolic expressions 1 7 O ordinary differential equations solving 2 23 orthogonal polynomials 1 131 2 93 P poly 1 75 2 97 poly2sym 2 98 polygamma function 1 131 polynomial discriminants 1 93 power array 2 9 matrix 2 9 pretty 1 32 2 99 procread 1 146 2 100 prod 1 11 R rank 2 101 rational arithmetic 1 65 rational symbolic expressions 1 7 real 2 102 real property 1 9 real symbolic variables 1 9 1 28 reduced row echelon form 2 103 Riemann sums evaluating 2 104 Index Riemann Zeta function 1 130 2 130 right division array 2 8 matrix 2 8 Rosser matrix 1 76 1 77 rref 2 103 rsums 2 104 S shifted sine integral 1 131 simple 1 52 2 105 simplifications 1 47 1 55 simplify 1 52 2 106 simultaneous differential equations solving 1 109 1 110 1 122 simultaneous linear equations solving systems of 1 71 1 106 sine integral function 2 107 sine integrals 1 131 singular value decomposition 1 82 1 86 2 114 sinint 2 107 solve 1 96 2 109 solving equations 1 96 1 111 algebraic 1 96 1 107 2 109 dif
51. 2 The conj command is the complex conjugate operator for the toolbox If conj x x returns 1 then x is areal variable To clear x of its real property you must type syms x unreal or x sym x unreal The command clear x does not make x a nonreal variable Creating Abstract Functions If you want to create an abstract i e indeterminant function f x type f sym f x Then f acts like f x and can be manipulated by the toolbox commands To construct the first difference ratio for example type df subs f x x h f h Getting Started 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 see the section Integral Transforms Using sym to Access 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 Or if you want to compute for example 12 simply use the prod function prod 1 12 Example Creating a Symbolic Matrix A drculant matrix has the property that each row is obtained from the previous one by cyclically permuting the entries one step forward We create the circulant matrix A whose elements are a b and c using the commands syms abc A a b c bc aj cab 1 11 1 Tutorial 1 12 which return
52. 2000 2 3000 3 1000 3 2000 3 3000 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 1 65 1 Tutorial 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 sqrt 2 log 3 rand returns a matrix E 2 71828182845905 1 41421356237310 1 09861228866811 0 21895918632809 whose elements are not the ratios of small integers so sym E reproduces the floating point representation in a symbolic form 3060513257434037 2 50 3184525836262886 2 51 2473854946935174 2 51 3944418039826132 2 54 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 Continuing on with our example and using digits 4 applying vpa to the matrix S vpa S generates the output S 1 100 1 200 1 300 2 100 2 200 2 300 3 100 3 200 3 300 and with digits 25 F vpa E Variable Precision Arithmetic generates F 2 7182
53. 49 2 57 hyperbolic cosine function 1 131 hyperbolic sine function 1 131 hypergeometric function 1 131 l IEEE floating point arithmetic 1 65 ifourier 1 113 2 60 ilaplace 2 63 imag 2 66 incomplete gamma function 1 131 initializing the M aple kernel 2 84 initstring variable 2 84 int 1 23 2 67 integral transforms 1 112 1 129 Fourier 1 112 1 119 Laplace 1 120 1 125 z transform 1 126 1 129 integration 1 23 1 29 definite 1 25 with real constants 1 26 inv 2 68 inverse Fourier transform 2 60 inverse Laplace transform 2 63 inverse z transform 2 70 iztrans 2 70 J J acobi polynomial 1 132 jacobian 1 20 2 72 J acobian matrix 1 20 2 72 jordan 1 81 2 73 J ordan canonical form 1 81 1 82 2 73 L Laguerre polynomial 1 132 Lambert s W function 1 131 2 75 lambertw 2 75 laplace 2 76 Laplace transform 1 120 1 125 2 76 latex 2 79 left division array 2 8 matrix 2 8 Legendre polynomial 1 132 limit 1 21 2 80 limits 1 21 1 23 two sided 1 22 undefined 1 22 linear algebra 1 69 1 95 logarithm function 1 131 logarithmic integral 1 131 M machine epsilon 1 8 MacLaurin series 1 31 Maple 1 2 Index maple 2 81 output argument 1 141 Maple functions accessing 1 11 1 136 1 142 Maple help 2 94 Maple kernel accessing 2 81 initializing 2 84 Maple library 2 84 Maple Orthogonal Polynomial Package 2 93 Maple packages 1 143 loading 1 144 Maple procedure 1 143 2 100 compiling 1 148 installing 2 100 writing 1 145 1
54. 5 Computing the characteristic polynomial of this new A p poly A gives p X 3 t 6 x 2 492512 t 11 x 6 1221271 t Prettyprinting pretty collect p x shows more clearly that p is a cubicin x whose coefficients vary linearly with t 3 2 x t 6 x 492512 t 11 x 6 1221271 t 1 89 1 Tutorial 1 90 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 0 lambda 0o axis 8 3 2 5 5 text 2 25 35 t num2str k 0 5e 6 end 0 5 T T T T t 1e 06 oF o 4 0 5 1 1 1 1 1 1 1 5 2 2 5 3 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 Linear Algebra 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
55. 81828459045534884808 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 funcion In our example both double sym E and double vpa E return E Another Example The next example is perhaps more interesting Start with the symbolic expression f sym exp pi sqrt 163 The statement double f produces the printed floating point value 2 625374126407687e 17 Using the second argument of vpa to specify the number of digits vpa f 18 returns 262537412640768744 whereas vpa f 25 returns 26253741 2640768744 0000000 We suspect that f might actually have an integer value This suspicion is reinforced by the 30 digit value vpa f 30 26253741 2640768743 999999999999 1 67 1 Tutorial 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 c
56. B s numeric and graphical facilities with several other types of mathematical computation Facility Covers Calculus Linear Algebra Simplification Solution of Equations Variable Precision Arithmetic Transforms Special Mathematical Functions 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 Numerical evaluation of mathematical expressions to any specified accuracy Fourier Laplace z transform and corresponding inverse transforms Special functions of classical applied mathematics 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 Eidgend ssiche Technische Hochschule Zurich Switzerland Maple is marketed and supported by Waterloo Maple Inc These versions of the Symbolic Math Toolboxes are designed to work with MATLAB 5 and Maple V Release 4 There are two toolboxes The basic Symbolic M ath Toolbox is a collection of more than one hundred MATLAB functions that provide access to the Maple Introduction kernel using a syntax and style that is a natural extension of the MATLAB language The basic toolbox also allows you to acce
57. Description Example 2 42 Polar coordinate plotter ezpolar fT ezpolar f a b ezpolar f plots the polar curve rho f theta over the default domain O lt theta lt 2nz ezpolar f a b plots f for a lt thaa 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 ezsurf Purpose Syntax Purpose Remarks Examples 3 D colored surface plotter ezsurf f ezsurf f domain ezsurf x y z ezsurf x y z Smin smax tmin tmax or ezsurf x y zZ min max ezsurf n ezsurf circ 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 f is plotted over the default domain 2r lt x lt 2n 2r lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is not defined singular for points on the grid then these points are not plotted ezsurf 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 Iff is 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 u2 v over O lt u lt 1 3 lt v
58. EE a ee Se eG 1 64 Example Using the Different Kinds of Arithmetic 1 65 Rational Arithmetic 0 0 00 c eee ee 1 65 Variable Precision Numbers 0 000 e cece eee 1 66 Converting to Floating Point 20 0 eee 1 67 Another Example 00 00 c eee eee eee ee 1 67 Linear Algebra j 20 s c5 kets ee he OE i ee a Es es 1 69 Basic Algebraic Operations 0 000 eee eee 1 69 Linear Algebraic Operations 0000 cece eee 1 70 BIGeNValUGS a 2asritacins digi ay Ae whale paw ee 1 74 J ordan Canonical Form 0 cee eens 1 81 Singular Value Decomposition 000 eee eee 1 82 Eigenvalue Trajectories uuna eee eee ee 1 86 Solving Equations 0 000 c eee ee 1 96 Solving Algebraic Equations 00 0c cece eee 1 96 Several Algebraic Equations 00 eee eee 1 104 Single Differential Equation 000 0 eee ee 1 107 Example Torni Gare oh as Bob aa n ET ane mugs Gt hes 1 108 EXAMPlG 2 oii 2 no hae el da Oe Aga Edo EA eee 1 108 EXaMple 3 wasn heal ee dake wR Gace Wea oa 1 109 Several Differential Equations 000008 1 109 Integral Transforms 00 000 cee ee 1 112 The Fourier and Inverse Fourier Transforms 1 112 The Laplace and Inverse Laplace Transforms 1 120 The Z and Inverse Z transforms 0 00 cece eee 1 126 References niy aaea aaa aa Ha
59. L 4 0 5F q oL E Local minimum 0 5 F q SpE 4 Q 1 5 a 2b 4 2 5 q 2915 7 3 5F q 4b Global minima y 7 L L L L L L L 6 4 2 0 2 4 6 x The foregoing analysis confirms part of our original guess that the range of f x is 4 1 Wecan confirm the other part by examining the fourth zero of f x found by solve First extract the fourth zero from z and assign it toa separate variable s z 4 to obtain S atan 255 60 19 1 2 1 2 10 3 19 1 2 pi Executing sd double s displays the zero s corresponding numeric value sd 2 4483 1 41 1 Tutorial 1 42 Plotting the point s f2 s against f2 using M1 double subs f2 x s plot sd M1 ko text 1 1 Global maximum visually confirms that s is a maximum Plot of f2 f x 1F Global Ain 4 0 5 oL 4 Local minimum 0 5 4 HE J 9 1 5F J 2 J 2 5 3H J 3 5F 4 4b Global minima 7 fi fi fi fi fi fi fi 6 4 2 0 2 4 6 x The maximum is M1 1 0051 Therefore our guess that the maximum of f x is 4 1 was close but incorrect The actual range is 4 1 0051 Now let s see if integrating f x twice with respect to x recovers our original function f x 1 5 4 cos x The command g int int f2 Calculus returns g 8 tan 1 2 x 2 9 This is certainly not the original expression for f x Let s look at the difference f x g x d
60. Symbolic Math Toolbox For Use with MATLAB User s Guide Version 2 5 Ho EI How to Contact The MathWorks 508 647 7000 Phone 508 647 7001 Fax The MathWorks Inc Mail 24 Prime Park Way Natick MA 01760 1500 http www mathworks com Web ftp mathworks com Anonymous FTP server comp soft sys matlab Newsgroup support mathworks com Technical support suggest mathworks com Product enhancement suggestions bugs mathworks com Bug reports doc mathworks com Documentation error reports subscribe mathworks com Subscribing user registration service mathworks com Order status license renewals passcodes info mathworks com Sales pricing and general information Symbolic M ath Toolbox User s Guide COPYRIGHT 1993 1998 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 U S GOVERNMENT If Licensee is acquiring the Programs on behalf of any unit or agency of the U S Government the following shall apply a For units of the Department of Defense the Government shall have only the rights specified in the license under which the commercial computer software or commercial software documentation was obtained as set forth in subparagraph a of the Rights in Commercial Co
61. 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 y 1 00000000000001 double vpa 2 21 double Purpose Syntax Description Examples See Also 2 22 Convert symbolic matrix to MATLAB numeric form R double S double S converts the symbolic object S toa 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 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 dsolve Purpose Syntax Description Examples Symbolic solution of ordinary differential equations r dsolve eqi eq2 condi1 cond2 v r dsolve eqi eq2 cond1 cond2 v dsolve eqi eq2 condi cond2 v symbolically solves the ordinary differential equation s specified by eq1
62. 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 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 z using a method derived by 1 Tutorial Richard Brent based from the arithmetic geometric mean algorithm of Gauss Here is the Maple source code pie 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 Sam RR HK Example pie 5 is a symbolic expression with 1167 characters which when evaluated agrees with pi to 84 decimal digits t local a b c d k t r 1 sqrt 1 2 1 4 1 too for k from 1 to n do d b a 2 b sqrt a b a i atd c i c t d 2 oS 2r od a b 2 4 c end Assume the source code for this Maple procedure is stored in the file pie src 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
63. a t b dsolve D2y a 2 y y 0 1 Dy pi a 0 returns cos a t dsolve Dx y Dy x returns x cos t Ci sin t C2 y sin t C1 cos t C2 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 eig Purpose Syntax Description Examples Symbolic matrix eigenvalues and eigenvectors lambda eig A V D eig A 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 alsoreturns P a vector of indices 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 havea 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 10405 1 2 10 10405 1 2 1000 1000 Po Ba
64. a 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 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 happens to illustrate 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 Linear Algebra The commands p poly R pretty factor p 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 We 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 0 1020 510 100 26 1 2 510 100 26 1 2 10 10405 1 2 10 10405 1 2 1000 1000 ananasa The Rosser matrix is not a typical example it is rare for a full 8 by 8 matrix to have a characterist
65. able 2 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Complete E Iliptic Associated complete elliptic integrals Legendrekc1 k a is real Integrals with of the first second and third kind LegendreEc1 k Inf lt a lt Inf Complementary using complementary modulus LegendrePic1 a k Modulus k is real 0o lt k lt 1 Complementary Error erfc z n gt 0 Function and Its erfc n z Iterated Integrals 2 j p erfc z e dt 1 erf z Z a Z zZ erfc 1 z 2 e7 An oo erfc n Z Jerfecn 1 z dt z Dawson s Integral dawson x X F x e fetat 0 Digamma F unction Psi x I x d WO z n09 Foo 2 88 mfunlist Table 2 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Dilogarithm Integral dilog x x gt 1 X Inct fo JPOat 1 Error Function erf z Z 2 ft erf z fe dt T Ne 0 Euler Numbers and Generating function for Euler euler n n20 Polynomials numbers euler n z m It lt P 1 t ch t L En ni n 0 Exponential Integrals Ei n z n20 o0 Ei x Real z gt 0 2 89 mfunlist Table 2 1 MFUN Special Functions Continued Function Name Definition mfun Name Arguments Fresnel Sine and FresnelC x Cosine Integrals x FresnelS x T 2 C x fcos 5t Jat 0 X T 42 S x fsin 5 t at 0 Gamma F unction GAMMA Z T z tetat 0 Harmonic F unction harmonic n n gt
66. ample the version 1 statements f 1 5 4 cos x g int int diff f 2 e symsub f g simple e A Compatibility Guide continue to work in version 2 However with version 2 the preferred approach is syms x f 1 5 4 cos x g int int diff f 2 e f g simple e The version 1 statements H sym hilb 3 I sym eye 3 X linsolve H I t sym 0 for j 1 3 t symadd t sym X j j end t continue to work in version 2 However the preferred approach is H sym hilb 3 I eye 3 X H I t sum diag X You can no longer use the sym function in this way M sym 3 3 1 itj t Instead you must change the code to something like this syms t J I meshgrid 1 3 M 1 I J t Asin version 1 you can supply diff int solve and dsolve with string arguments in version 2 In version 2 however these functions return symbolic objects instead of strings For some computations the new release of Maple produces results in a different format A 4 Obsolete Functions For example with version 1 the statement x y solve x 2 2 x y y 2 4 x 3 4 y 3 1 produces x RootOf _Z 3 2 _Z 2 4 Z 3 2 RootOf 3 _Z 3 6 _ Z 2 12 Z 7 2 y RootOf _Z 3 2 Z 2 4 Z 3 RootOf 3 _Z 3 6 Z 2 12 Z 7 The same statement works in version 2 but produces results with the RootOf expressions expanded to exhibit the multiple solutions A Compa
67. an J ordan canonical form null Basis for null space poly Characteristic polynomial rank Matrix rank rref Reduced row echelon form Linear Algebra svd tril triu Singular value decomposition Lower triangle Upper triangle Simplification collect expand factor horner numden simple simplify subexpr 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 2 Reference Variable Precision Arithmetic digits Set variable precision accuracy vpa Variable precision arithmetic Arithmetic Operations A Addition Subtraction Multiplication 5 Array multiplication Right division af 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 2 4 Special Functions cosint hypergeom lambertw sinint zeta Cosine integral Ci x Generalized hypergeometric function Solution of Axe x Sine integral Si x Riemann zeta function Access To Maple ma
68. atements f3 simple f3 pretty f3 2 2 sin x 96 sin x 80 cos x 80 cos x 25 Now use the solve function to find the zeros of f x z solve f3 returns a 5 by 1 symbolic matrix Z 0 atan 255 60 19 1 2 1 2 10 3 19 1 2 atan 255 60 19 1 2 1 2 10 3 19 1 2 atan 255 60 19 1 2 1 2 10 3 19 1 2 pi atan 255 60 19 1 2 1 2 10 3 19 1 2 pi each of whose entries is a zero of f x The command format Default format of 5 digits zr double z 1 36 Calculus converts the zeros to double form Zr 0 O 2 43811 O 2 43811 2 4483 2 4483 So far we have found three real zeros and two complex zeros H owever a graph of f3 shows that we have not yet found all its zeros ezplot f3 hold on plot zr O zr ro plot 2 pi 2 pi 0 0 3 g title Zeros of f3 Zeros of f3 3F 4 1 37 1 Tutorial 1 38 This occurs because f x contains a factor of sin x which is zero at integer multiples of x The function solve sin x however only reports the zero at x 0 We can obtain a complete list of the real zeros by translating zr zr 0 zr 4 pi 2 pi zr 4 by multiples of 27 zr zr 2 pi zr zrt 2 pil Now let s plot the transformed zr on our graph for a complete picture of the zeros of f3 plot zr O zr kX Zeros of f3
69. bertw Purpose Syntax Description Examples References Lambert s W function Y lambertw X lambertw X evaluates Lambert s W function at the elements of X a numeric matrix or a symbolic matrix Lambert s W solves the equation Ww 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 xX y lambertw 0 x 1 y return 0 lambertw x J lambertw 1 lambertw y 1 Corless R M Gonnet G H Hare D E G and J effrey 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 J effrey 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 2 75 laplace Purpose Syntax Description 2 76 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 If F F s laplace returns a function of t L L t By definition Lis Fedt 0 where t is the symbolic variable in F as determined by findsym L laplace F t ma
70. cc Sa daha dh eee eee 1 128 Special Mathematical Functions 1 130 Diffraction iaee ie aaa ee Bile a Ww O aes 1 132 Using Maple Functions 000 ceca eeu 1 136 Simple Example setatsu vee eee ve eaten ees eee 1 136 Vectorized Example 00 00 cece 1 139 DeDUGOIN GS 0 2 Batre te Bile ei dk enced an hd Slain A aie 1 141 Trace Modes n naa a woe state E ava arancta asa 1 141 Status Output Argument 0 00 eee eee 1 141 Extended Symbolic Math Toolbox 1 143 Packages of Library Functions 20 0 20 eeu 1 143 Procedure Example 0 00 cece eee eee ee 1 145 Precompiled Maple Procedures 0 00 cece neces 1 148 Reference 2 Compatibility Guide A Compatibility with Earlier Versions A 2 Obsolete Functions 0 000000 ccc cee ee eee eee A 3 iv Contents Tutorial Introduction Getting Help Getting Started s aoa oao oa Calculus Simplifications and Substitutions Variable Precision Arithmetic Linear Algebra Solving E quations Integral Transforms Special Mathematical Functions Using Maple Functions Extended Symbolic Math Toolbox 1 47 1 64 1 69 1 96 1 112 1 130 1 136 1 143 1 Tutorial Introduction The Symbolic Math Toolboxes incorporate symbolic computation into MATLAB s numeric environment These toolboxes supplement MATLA
71. ce 2 13 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 isthe 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 wheref f x g g y and x andy are the symbolic variables of f and g as defined by findsym compose f g x z returns f g z 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 x 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 2 15 cosint Purpose Cosi
72. column vector and the second argument a row vector Moreover since the determinant of the J acobian is a rather complicated trigonometric expression we used the simple command to make trigonometric substitutions and reductions simplifications The section Simplifications and Substitutions discusses simplification in more detail Calculus A table summarizing diff and jacobian follows Mathematical Operator MATLAB Command f x exp ax b df dx at da 2 df b a r u v t arctan v u syms a b x f exp a x b diff x or diff f x diff f a diff f b 2 syms rtuv r u 2 v 2 t atan v u 2 a r t J jacobian r t u v Jos o u V Limits The fundamental idea 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 fo li h gt es f x h f 0 h provided this limit exists The Symbolic Math Toolbox allows you to compute the limits of functions in a direct manner The commands syms hn x dc limit cos xt th cos x h h O 1 21 1 Tutorial 1 22 which return dc sin x and limit 1 xX 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 While many limits lim f x Xa
73. ct to the independent variable of f if f f t then t is the independent variable f f x implies that x is the independent variable etc at the default variable w We refer to F f as the F ourier transform of f at w and Ft isthelFT of fat x See fourier and ifourier in thereference pages for tables that show the Symbolic Math Toolbox commands equivalent to various mathematical representations of the Fourier and inverse Fourier transforms Integral Transforms In the section on differential equations we mentioned the Airy differential equation d dx lt N Xy x N whose solution A x has a Fourier transform of iw 3 e Let s verify this claim with the Symbolic Math Toolbox Indeed F A lw3 if and only if 3 A F fel as The statements syms w X A ifourier exp i w 3 3 w x A simple A pretty A return 1 2 1 2 1 2 1 3 3 2 3 X besselk 1 3 2 9 3 x3 ee pi 2 3 2 z Kral 3 A x re T 1 113 1 Tutorial 1 114 where K 1 3 Z is a Bessel function of the second kind of order 1 3 Solving the Airy differential equation Y dsolve D2y x y x pretty Y returns 1 2 3 2 1 2 3 2 C1 x besseli 1 3 2 3 x C2 x besselk 1 3 2 3 x and setting 1 C1 0 C2 Ba yields A x An application of the Fourier transform is the solution of ordinary and partial differential equations over the real line Consider the deformation of an infinitely long beam resting on an e
74. ction f n is defined as oo ZIA finz n 0 The notation Z f refers to the z transform of f at z Let R be a positive number so that the function g z is analytic on and outside the circle z R Then the inverse z transform IZT of g at n is defined as z 1 Zon 5 g z2z dz n 12 z The notation Z f means the IZT of f at n The Symbolic Math Toolbox commands ztrans and iztrans apply the z transform and IZT to symbolic expressions respectively See ztrans and iztrans for tables showing various mathematical representations of the z transform and inverse z transform and their Symbolic Math Toolbox counterparts The z transform is often used to solve difference equations In particular consider the famous Rabbit Problem That is suppose that rabbits reproduce only on odd birthdays 1 3 5 7 If p n is the rabbit population at year n then p obeys the difference equation p n 2 p n 1 p n p 0 1 p 1 Wecan use ztrans tofind the population each year p n First weapply ztrans to the equations pn sym p n pni sym p nt 1 pn2 sym p n 2 syms n z eq pn2 pni pn Zeq ztrans eq n Z to obtain Zeq z 2 ztrans p n n z p 0 z 2 p 1 z z ztrans p n n z p 0 z ztrans p n n z Integral Transforms Next replace ztrans p n n z with Pz and insert the initial conditions for p 0 and p 1 syms Pz Zeq subs Zeq ztrans p n n
75. dsym to determine the variables This way of assigning output from solve is quite successful for small systems Plainly if we 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 Thecommand 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 S a produces ans pst 3 1 105 1 Tutorial Similar comments apply to the solutions for u and v The structure S can now be manipulated by field and index to access a particular portion of the solution For example if we want to examine the second solution we can use the following statement s2 S a 2 S u 2 S v 2 to extract the second component of each field s2 3 5 4 The following statement M S a S u S v creates the solution matrix M M 1 1 0 3 5 4 whose rows comprise the distinct solutions of the system Linear systems of simultaneous equations can also be solved using matrix division For example clearuvxy symsuvxy 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 1 106 Solving Equations result in
76. e Fresnel Sine and Cosine Integral e Dawson s Integral e Error Function e Complementary Error Function and its Iterated Integrals e Gamma F unction e Logarithm of the Gamma Function e ncomplete Gamma F unction e Digamma Function e Polygamma F unction e Generalized H ypergeometric F unction 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 Lambert s W Function e Dirac Delta Function distribution e Heaviside Function distribution The orthogonal polynomials listed below are available with the Extended Symbolic M ath Toolbox e Gegenbauer e Hermite 1 131 1 Tutorial 1 132 e Laguerre e Generalized Laguerre e Legendre e acobi e Chebyshev of the First and Second Kind Diffraction This example is from diffraction theory in classical electrodynamics J D J ackson Classical Electrodynamics J ohn Wiley amp Sons 1962 Suppose we have a plane wave of intensity p and wave number k We 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 we observe the diffracted wave from the line whose coordinates are x 0 Zo where Zo gt 0
77. eV Release 4 in the directory MyDisk Maple Lib You can edit mapleinit m to contain maplelib MyDisk Maple Lib and then delete the copy of the Maple Library that is distributed with MATLAB mfun Purpose Syntax Description Examples See Also 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 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 isa 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 57081 NaN mfunlist mhelp mfunlist Purpose Syntax Description Limitations See Also References Table Conventions List special functions for use with mfun mfunlist help mfunlist on the Macintosh mfunlist lists the special mathematical functions for use with the mfun function The fo
78. ed version of Maple V Release 4 CA 7 Close Run Introduction Symbolic Objects The Symbolic M ath Toolbox defines a new MATLAB data type called a symbolic object or sym see Chapter 14 in Using MATLAB for an introduction 1 Tutorial to MATLAB classes and objects Internally a symbolic object is a data structure that stores a string representation of thesymbol The Symbolic Math Toolbox uses symbolic objects to represent symbolic variables expressions and matrices Creating Symbolic Variables and Expressions The sym command lets you construct symbolic variables and expressions F or example the commands x sym x 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 1 5 2 The command 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 f 1 2 1 2 5 1 2 2 3 2 1 2 5 1 2 simplify f returns 0 Now suppose you want to study the quadratic function f ax bx c The statement f sym a x 2 b x c assigns the symbolic expression ax bx c to the variable f Observe that in this case the Symbolic Math Toolbox does not create variables corresponding Getting Started to the terms of the expression a b c and x To perform symbolic math operatio
79. 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 xtd 0 r s subexpr t s return therewritten expression for t in r in terms of a common subexpression which is returned in s pretty simple subs 2 111 subs Purpose Syntax Description Examples 2 112 Symbolic substitution in a symbolic expression or matrix R subs S R subs S old new subs S replaces all occurrences of variables in the symbolic expression S with values obtained from the calling function or the MATLAB workspace subs S old new replaces old with new in the symbolic expression S old isa symbolic variable or a string representing a variable name new is a symbolic or numeric variable or expression If old and new are cell arrays of the same size each element of old is replaced by the corresponding element of new If S and old are scalars and new is an array or cell array the scalars are expanded to produce an array result If new is acell array of numeric matrices the substitutions are performed elementwise i e subs x y x y A B returns A B when A and B are numeric If subs s old new does not changes subs s new old is tried This provides backwards compatibility with previous versions and eliminates the need to remember the order of the arguments subs s ol1d new does not switch the argumen
80. ext time you load it thereby speeding up the process For example you can convert the pie src procedure developed in the preceding example to a precompiled Maple procedure using the commands clear maplemex procread pie src maple save pi m Theclear maplemex command resets the Maple workspace to its initial state Since the Maple save command saves all variables in the current session we want to remove extraneous variables Note that you must use back quotes around the function name To read the precompiled procedure into a subsequent MATLAB session type maple read pie m Again as with the ASCII text form you can access the function using maple p maple pie 5 Note that precompiled Maple procedures have m extensions Hence you must take care to avoid confusing them with MATLAB M files which also have m extensions Reference 2 Reference This chapter provides detailed descriptions of all Symbolic Math Toolbox functions It begins with tables of these functions and continues with the reference entries in alphabetical order Calculus diff Differentiate int Integrate jacobian J acobian 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 extract diagonals eig Eigenvalues and eigenvectors expm Matrix exponential inv Matrix inverse jord
81. f g pretty d 1 8 5 4 cos x 2 tan 1 2 x 9 We 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 Fos 2 3 atan 1 3 tan 1 2 x involves the arctangent function 1 43 1 Tutorial Though F x is the antiderivative of a continuous function it is itself discontinuous as the following plot shows ezplot F 2 3 atan 1 3 tan 1 2 x T Note that F x has jumps at x z This occurs because tan x is singular at X 1 44 Calculus In fact as ezplot atan tan x shows the numerical value of atan tan x differs from x by a piecewise constant function that has jumps at odd multiples of 2 2 atan tan x T T T H L L 6 4 2 0 2 4 6 x Toobtain a representation of F x that does not have jumps at these points we must introduce a second function J x that compensates for the discontinuities Then we add the appropriate multiple of J x to F x J sym round x 2 pi c sym 2 3 pi F1 F c J F1 2 3 atan 1 3 tan 1 2 x 2 3 pi round 1 2 x pi 1 45 1 Tutorial and plot the result ezplot F1 6 28 6 28 This representation does have a continuous graph
82. f 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 1 96 Solving Equations returns a vector with four solutions s 0 pi 1 6 pi 5 6 pi The equation x 2x x 1 helps us understand the output of solve Type s solve x 3 2 x 2 x 1 S 1 6 28 84 i 3 1 2 1 3 14 3 28 84 i 3 1 2 1 3 2 3 1 12 28 84 i 3 1 2 1 3 7 3 28 84 i 3 1 2 1 3 2 3 1 2 i 3 1 2 1 6 28 84 i 3 1 2 1 3 2 14 3 28 84 1 3 1 2 1 3 1 12 28 84 i 3 1 2 1 3 7 3 28 84 i 3 1 2 1 3 2 3 1 2 1 3 1 2 1 6 28 84 i 3 1 2 1 3 14 3 28 84 1 3 1 2 1 3 To gain more insight into this solution let s see the numeric results double s ans 2 24697960371747 0 00000000000000i 0 80193773580484 0 00000000000000i 0 55495813208737 0 00000000000000i It appears that the roots of x 2x x lareall real This is misleading Applying the vpa command vpa s 10 yields ans 2 246979604 1e 9 i 8019377357 3e 9 i 5549581323 5e 9 i 1 97 1 Tutorial 1 98 This shows that the imaginary parts of s are small but still nonzero As another example consider the commands syms x s solve tan x sin x 2 This results in a lengthy 4 by 1 symbolic vector whose qualitative features are at best cryptic
83. ference 1 126 ordinary differential 1 107 1 111 2 23 special functions 1 130 1 135 evaluating numerically 2 85 listing 2 86 spherical coordinates 1 19 subexpr 1 56 2 111 subexpressions 1 56 1 58 subs 1 59 2 112 substituting in symbolic expressions 2 112 substitutions 1 56 1 63 subtraction 2 8 summation symbolic 1 30 svd 1 82 2 114 sym 1 5 1 6 1 7 1 9 1 11 1 28 2 116 sym2poly 2 119 symbolic expressions 1 96 C code representation of 2 11 creating 1 6 decimal 1 8 differentiating 2 20 expanding 2 28 factoring 2 47 finding variables in 2 48 floating point 1 7 Fortran representation of 2 50 integrating 2 67 LaTeX representation of 2 79 numeric 1 7 prettyprinting 2 99 rational 1 7 simplifying 2 105 2 106 2 111 substituting in 2 112 summation of 2 120 taking a limit of 2 80 Taylor series expansion of 2 122 symbolic math functions creating 1 15 symbolic math programs debugging 1 141 writing 1 136 1 140 Symbolic M ath T ool box compatibility with earlier versions A 2 demo 1 5 obsolete functions A 3 symbolic matrix computing eigenvalue of 1 77 coverting to numeric form 1 9 Index creating 1 11 differentiating 1 19 symbolic objects about 1 5 creating 2 116 2 118 symbolic polynomials converting to numeric form 2 119 creating from coefficient vector 2 98 Horner representation of 2 57 symbolic summation 1 30 symbolic variables clearing 2 118 complex 1 9 creating 1 6 default 1 13 real 1 9 1 28 syms 1 7
84. ff 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 Arethe 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 Linear Algebra coalesce into an actual double root that is extremely sensitive to roundoff and other errors One good perturbation direction can be obtained from the outer product of 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 2
85. form a complex conjugate pair 1 3 1 3 1 3 2 2 1 3 t oe 1 3 1 2 1 3 1 6 1 3 2 2 2 1 3 t 1 2 43 1 3 1 3 2 1 3 1 2 1 3 1 6 1 3 2 2 2 1 3t 1 213 1 3 1 3 2 2 3 1 3189393 t 2216286 t t 3 3 4432572 t 2 3 1052829647418 t 358392752910068940 t 4 1 2 181922388795 t ov 1 3 492508 3 t 1 9 t oe N Il I 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 91 1 Tutorial 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 Transition to produce a plot of their trajectories x10 Eigenvalue Transition 2 7 T T T 1 8 J ter J 1 4 4 1 2 4 ib 0 8 a 0 6 0 4 z 0 2 0 1 ii 1 1 1 i i 1 1 1 2 1 4 1 6 1 8 2 2 2 4 2 6 2 8 3 2N Abovet 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 1 92 Linear Algebra One way to find the exact value of t involves polynomial discriminants The discriminant of a quadratic polynomial is the familiar quantit
86. 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 1 If you want to know which simplification returned the shortest result use the multiple output form F how simple f This form returns theshortest result in thefirst 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 1 how combine trig The simple function sometimes improves 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 at1 3 a 3 1 3 2 a 1 a syms x y positive log x y log x log 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 1 at 2 The first application simple f uses radsimp to produce 2 a 1 a the second application uses combine t
87. g Help 1 4 There are two ways to find information on using Symbolic Math Toolbox functions One of course is to read this manual The other is to use MATLAB s command line help system Generally you can obtain help on MATLAB functions simply by typing help function where function is the name of the MATLAB function for which you need help This is not sufficient however for some Symbolic Math Toolbox functions The reason The Symbolic Math Toolbox overloads many of MATLAB s numeric functions That is it provides symbolic specific implementations of the 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 F or example to obtain help on the symbolic version of the overloaded function diff type help sym diff To obtain information on the numeric version on the other hand simply type help diff How can you tell whether a function is overloaded The help for the numeric version tells you so For example the help for the diff function contains the section Overloaded methods help char diff m help sym diff m This tells you that there are two other diff commands that operate on expressions of class char and class sym respectively See the next section for information on class sym For more information on overloaded commands see Chapter 14 of the Using MATLAB guide You can use the mhe
88. hat 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 We can use the backslash operator to solve a system of simultaneous linear equations The commands b 11 1 x H b Solve Hx b produce the solution 3 24 30 1 71 1 Tutorial 1 72 All three of these results the inverse the determinant and the solution tothe 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 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 9 000000000000082 36 00000000000039 30 00000000000035 36 00000000000039 192 0000000000021 180 0000000000019 30 00000000000035 180 0000000000019 180 0000000000019 shows the loss of two digits So doe
89. he command findsym g returns the result ans a b t findsym Rule The default symbolic variable in a symbolic expression is the letter that is closest to x alphabetically If there are two equally close the letter later in the alphabet is chosen Getting Started Here are some examples Expression Variable Returned By findsym x n Xx sin a tt b t besselj nu z Zz w y v z y exp i theta theta log alpha x1 x1 y 4 3 i 6 j y sqrt pi alpha alpha 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 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 1 15 1 Tutorial 1 16 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 Todothis create an M filein 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 is equal x sym 0 z 1 else z sin x x end You can extend such examples to functions of several variables For a more detailed discussion on object oriented programming see Chapter 14 of the
90. he built in numeric function with the same name S sym A flag converts a numeric scalar 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 Thedefault is r f stands for floating point All values are represented in the form 1 F 2 e or 1 F 2 e whereF is 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 1 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 F or 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 rati
91. he elements of X on and above 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 Examples Suppose A a b c 1 2 3 a 1 b 2 ct3 Then triu A returns a b c 0 2 3 0 0 c 3 triu A 1 returns ooo i b 0 O 0 0 O U O triu A 1 returns a b c 1 2 3 0 b 2 c 3 See Also diag tril 2 127 vpa Purpose Syntax Description Examples 2 128 Variable precision arithmetic R vpa A R vpa A d vpa A uses variable precision arithmetic VPA to compute each element of A tod 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 sym sin pi 6 p vpa pi w vpa 1 sqrt 5 2 return q 5000000000000000000000000 p 3 141592653589793238462643 w 618033988749894848204587 a vpa pi 75 computes z to 75 digits The statements A vpa hilb 2 25 B vpa hilb 2 5 vpa 1 5000000000000000000000000 5000000000000000000000000 3333333333333333333333333 B 1 50000 50000 33333 See Also digits double 2 129 zeta Purpose Riemann Zeta function Syntax Y zeta X Y zeta n X Description
92. hereA 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 a 0 0 ooo Qoo o diag v 2 returns 0 0 0 0 0 0 0 O O O a 0 0 O O 0 b O 0 0 0 0 c O O Suppose x lt lt NO N diag diag A returns N MO diag A 1 returns b 3 See Also tril triu 2 19 diff Purpose Differentiate Syntax diff S v diff S n diff S v n Description 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 Examples Assume syms x t Then diff sin x 2 returns 2 cos x 2 x and diff t 6 6 returns 720 See also int jacobian findsym 2 20 digits Purpose Syntax Description Examples See Also 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
93. ic polynomial that factors into such simple form If we change the two corner elements of R from 29 to 30 with the commands S R 1 8 30 8 1 30 and then try p poly S we find p 402509682 13600000 51264008540948000 x 108269938841 1166000 x 2 4287832912719760 x 3 5327831918568 x 4 82706090 x 5 5079941 x 6 4040 x 7 x 8 1 77 1 Tutorial We also find that factor p is p itself That is the characteristic polynomial cannot be factored over the rationals For this modified Rosser matrix F eig S returns F 1020 0532142558915165931894252600 17053529728768998575200874607757 21803980548301606860857564424981 999 94691786044276755320289228602 1000 1206982933841335712817075454 1019 5243552632016358324933278291 1019 9935501291629257348091 808173 1020 4201882015047278185457498840 Notice that these values are close to the eigenvalues of the original Rosser matrix Further the numerical values of F area result of Maple s floating point arithmetic Consequently different settings of digits donot alter the number of integers 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 A 91 10 The Symbolic Math Toolbox commands syms t A sym O 1 1 0 G expm t A
94. ical Operation MATLAB Command n 1 int x n or x ax ae int x n x n 1 i T 2 int sin 2 x 0 pi 2 or sin 2x dx 1 int sin 2 x x 0 pi 2 0 g cos at b g cos a t b int g or Jg tdt sin at by a int g t int besselj 1 z or J az J02 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 The antiderivative F may not exist in closed form it may define an unfamiliar function it may exist but the software can t find the antiderivative the software could find it 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 yn x1 u This table illustrates integration of expressions containing those variables f int f x n x n 1 n 1 ye Ht log y n x 1 log n n x 1 24 Calculus f int f sin a thetatb cos a thetatb a exp x1 2 1 2 pi 1 2 erf x1 1 1 u 2 atan u besselj nu z int besselj nu z z The last example shows what happens if the toolbox can t find the antiderivative it simply returns the command including the variable of integration unevaluated Definite integration is also possible The commands int f a b and int f v a b are used to find a symbolic expression fo
95. ing 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 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 2 c x solve x y 1 x 11 y 5 returns y 1 3 x 4 3 2 109 solve A solve a u 2 v 2 uU ve 1 a 2 5 a 6 returns A a 1x4 sym u 1x4 sym v 1x4 sym where A a 2 2 3 3 A u 1 3 1 3 i 2 1 2 1 3 1 3 i 2 1 2 1 44 1 4 i 3 1 2 1 4 1 4 1 3 1 2 A V 2 3 1 3 i 2 1 2 2 3 1 3 i 2 1 2 3 44 1 4 i 3 1 2 3 4 1 4 i 3 1 2 See Also arithmetic operators dsolve findsym 2 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
96. ion s independent variable n defaults to 6 The Taylor series for an analytic function f x about the basepoint x a is given below fa n f x Y x a n 0 This table describes the various uses of the taylor command and its relation to Taylor and MacLaurin series Mathematical Operation MATLAB syms x n FO taylor f nl n 0 taylor Mathematical Operation MATLAB m n x f 0 mis a positive integer n fO ae a x a aisareal number n 0 m x m n 0 fm m Mp are positive integers x a ae fo Ka n 0 aisreal and mis a positive integer taylor f m mis a positive integer taylor f a aisa real number taylor f m1 m2 m m are positive integers taylor f m a ais 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 gn xh f x y 0 taylor f y 2 123 taylor Mathematical Operation MATLAB taylor f y m or xe ix y 0 taylor f m y mis a positive integer mis a positive integer m taylor f m y a E y a ithe y a ais real and mis a positive integer aisreal and mis a positive integer 5 taylor f y a b y a Silvey a ais real ais
97. ires 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 yt1 2 10 x 5 x 3 y 5 exp x 2 y 2 1 3 exp x 1 2 y 2 2 29 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 1 x exp x y 1 x y 1 3 exp x 1 y 3 T T T T In this particular case the title is too long to fit at the top of the graph so MATLAB abbreviates the string See Also contour ezcontourf ezmesh ezmeshc ezplot ezplot3 ezpolar ezsurf ezsurfc ezcontourf Purpose Syntax Description Examples Filled contour plotter ezcontourf f ezcontourf f domain ezcontourf n 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 f is plotted over the default domain 2r lt x lt 2n 2r lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is 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 e
98. ith or without initial conditions F or example hereis a pair of linear first order equations S dsolve Df 3 f 4 g Dg 4 f 3 g The computed solutions are returned in the structure S Y ou can determinethe values of f and g by typing f S f f C2 exp 3 t sin 4 t C1 exp 3 t cos 4 t g S g g Ci exp 3 t sin 4 t C2 exp 3 t cos 4 t 1 109 1 Tutorial 1 110 If you prefer to recover f and g directly as well as include initial conditions type f g 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 This table details some examples and Symbolic M ath Toolbox syntax Notethat the final entry in the table is the Airy differential equation whose solution is referred to as the Airy function Differential Equation MATLAB Command eis cae Dy 4 y exp t dt y 0 1 2 y dsolve D2y 4 y exp 2 x St Ayoo e y 0 0 y pi 0 x y 0 0 y m 0 2 y dsolve D2y x y y 0 0 a xy x y 3 besselk 1 3 2 sqrt 3 pi dx x 1 y 0 0 y 3 5K 2 3 3 The Airy Equation TheAiry function plays an important rolein the mathematical modeling of the dispersion of water waves It is a nontrivial exercise to show that the F ourier transform of the Airy function is exp iw 3 With this in mind we proceed to Solving Equations the section Integral Transforms the next
99. ither 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 Iff is 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 3 ezcontourf u 2 v 3 0 1 3 6 plots the contour lines for u2 v3 over 0 lt u lt 1 3 lt v lt 6 ezcontourf n plots f over the default domain using an n by n grid The default value for n is 60 ezcontourf 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 2e y _ 1 8 yS ev ge 0 eee 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 yt1 2 10 x 5 x 3 y 5 exp x 2 y 2 1 3 exp x 1 2 y 2 2 31 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 1 x exp x y 1 x y 1 3 exp x 1 y 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
100. ized the greatest deflection occurs at the point of impact and falls off sharply from there This is the behavior we expect from experience 1 119 1 Tutorial 1 120 The Laplace and Inverse Laplace Transforms The Laplace transform of a function f t is defined as Lifl s f tye Sat 0 while the inverse Laplace transform ILT of f s is Ct ico Ltt oe tise ds C i where cis a real number selected so that all singularities of f s are to the left of the lines c The notation L f denotes the Laplace transform of f at s Similarly L f is the ILT of f at t The Laplace transform has many applications including the solution of ordinary differential equations initial value problems Consider the resistance inductor capacitor RLC circuit below Ny Je iN oe Ry Ry Rg E L No C Integral Transforms Let Rj and lj j 1 2 3 be resistances measured in ohms and currents amps respectively L be inductance henrys and C be capacitance farads E t be the electromotive force and Q t be the charge By applying Kirchhoff s voltage and current laws Ohm s Law F araday s Law and Henry s Law you can arrive at the following system of simultaneous ordinary differential equations a La C I dQ 1 1 R2 T Rye REO CAY R rR UO Qo Let s solve this system of differential equations using laplace We will first treat the Rj L and C as unknown real constants and then supply values late
101. kes L a function of t instead of the default s Lit Fone dx 0 Here L is returned as a scalar symbol L laplace F w z makes L a function of z and F a function of w instead of the default variables s and t respectively L Fome dw 0 laplace Examples Laplace Transform MATLAB Command f b t co Lif ftye Sat 0 24 5 S 1 s g s ae st Liglit g sye ds 0 E NS f t e LIO ffe at 0 1 Xa f t 4 laplace f returns 24 s 5 g 1 sqrt s laplace g returns 1 s 1 2 pi 1 2 f exp a t laplace f x returns 1 x a 2 77 laplace Laplace Transform MATLAB Command f t v 1 costv f 1 cos t v L f x free ve dv laplace f v x 0 1 x t2 returns 2 3 2 x t x xt 1 x x x 2 t 2 See Also fourier ilaplace ztrans 2 78 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 xX f taylor log 1 x latex f return X 1 2 X 2 4 1 3 xX 3 1 4 x 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 3 amp 1 4 noalign medskip 1 3 amp 1 4 amp 1 5 end array right The statements sy
102. lastic foundation with a shock applied to it at a point A real world analogy to this phenomenon is a set of railroad tracks atop a road bed 5 x YY shock i bed rock stiffness constant Integral Transforms The shock could be induced by a pneumatic hammer blow or a swing from the mighty J ohn Henry The differential equation idealizing this physical setting is Ps eh dX k 1 EI y FE 00 00 lt X lt 00 Here E represents elasticity of the beam rail road track is the beam constant and k is the spring road bed stiffness The shock force on the right hand side of the differential equation is modeled by the Dirac Delta function 8 x If you areunfamiliar with 5 x you may be surprised to learn that despite its name it is not a function at all Rather 5 x is an example of what mathematicians call a distribution The Dirac Delta function named after the physicist Paul Dirac has the following important property oo fx y 80odx fo x A definition of the Dirac Delta function is 8 x lim NX _1 2n 1 2n nN where 1 1 1 for n X lt oH O otherwise X 1 2n 1 2n You can evaluate the Dirac Delta function at a point say x 3 using the commands syms x del sym Dirac x vpa subs del x 3 which return ans 0 1 115 1 Tutorial 1 116 Returning to the differential equation let Y w F y x w and A w F 6 x w Indeed
103. lic Z conj real Purpose Syntax Description Examples See Also Integrate int int int int S S v S a b S v a b DdD D D D Il int S returns the indefinite integral of S with respect to its symbolic variable as defined by findsym int S v returns theindefiniteintegral 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 tob int 2 x 1 x 2 2 returns 1 1 x 2 int x 1 z 2 z returns atan z x 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 2 67 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 2 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 follo
104. ll in the online MATLAB Function Reference 2 95 numden Purpose Syntax Description Examples 2 96 Numerator and denominator N D numden A N D numden A converts each element of A toa rational form where the numerator and denominator are relatively prime polynomials with integer coefficients A is a symbolic or a numeric matrix N is the symbolic matrix of numerators and D is the symbolic matrix of denominators n d numden 4 5 returnsn 4andd 5 n d numden x y y x returns n x 2 y 2 d y x The statements A a 1 b 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 poly A poly A v p p If Ais a numeric array poly A returns the coefficients of the characteristic polynomial of A If Ais symbolic poly A returns the characteristic polynomial of A in terms of the default variable x The variable v can be specified in the second input argument Note that if A is numeric poly sym A approximately equals poly2sym poly A The approximation is due to roundoff error The statements 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 z 3 6 z 2 11 z 6 poly2sym jordan eig solve 2 97 p
105. llowing 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 Runtime 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 Table 2 1 MFUN Special Functions unless otherwise indicated in the Arguments column x y real argument z z1 z2 complex argument m n integer argument mfunlist Table 2 1 MFUN Special Functions Function Name Definition mfun Name Arguments Bernoulli Numbers Generating functions bernoulli n n20 and Polynomials bernoulli n t 0 lt t lt 27 xt F oo es 2 B C0 e l n 0 Bessel Functions Bessell BesselJ Bessel functions Besselu v x v is real of the first kind BesselY v x BesselK BesselY Bessel functions Aes of the second kind BesselK V x Beta F unction Beta x y _ TO T y OY TN Binomial Coefficients binomial m n m _ m n ni m n 7 r m 1 I n 1 I m n 1 Complete Elliptic Legendre s complete elliptic integrals Legendrekc k a is real Integrals of the first second and third kind LegendreEc k Inf lt a lt Inf LegendrePic a k k is real 0 lt k lt 1 2 87 mfunlist T
106. log c expand sin 2 t cos 2 t returns 2 sin t cos t 2 cos t 2 1 collect factor horner simple simplify syms ezcontour Purpose Syntax Description Examples Contour plotter ezcontour f ezcontour f domain ezcontour Nn 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 f is plotted over the default domain 2 lt x lt 2n 2r lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is 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 Iff is 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 u v over 0 lt u lt 1 3 lt v 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 2e y D _ 1 8 y5 e t ezcontour requ
107. lp command to obtain help on Maple commands F or example to obtain help on the Maple diff command type mhelp diff This returns the help page for the M aple diff function For moreinformation on the Getting Started mhelp command type help mhelp or read the section Using Maple F unctions in this Tutorial Getting Started This section describes how to create and use symbolic objects It also describes the default symbolic variable If you are familiar with version 1 of the Symbolic Math Toolbox please note that version 2 uses substantially different and simpler syntax If you already have a copy of the Maple V Release 4 library please see the reference page for mapleinit before proceeding Toget a quick online introduction to the Symbolic Math Toolbox type demos at the MATLAB command line MATLAB displays the MATLAB Demos dialog box Select Symbolic Math in the left list box and then Introduction in the right list box J MATLAB Demo Window File Window Help See Miscellaneous To learn more Toolboxes Signal Processing Control System Communications Fuzzy Logic Higher Order Spect System Identificatior Image Processing Introduction Statistics Command line demos Optimization Calculus Symbolic Math Function Calculator Symbolic Math The Symbolic Math Toolbox integrates powerful symbolic and variable precision computing into the MATLAB environment The toolbox is based on an embedd
108. 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 2n 2n lt t lt 21 ezsurf x y Z Ssmin 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 rotate3d is always on To rotate the graph click and drag with the mouse 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 2 43 ezsurf illustrates this filtering of singularities discontinuous points by graphing the function f x y real atan x iy over the default domain 2r lt x lt 2n 27 lt y lt 2n syms x y ezsurf real atan x i y real atan x i y Note also that ezsurf creates graphs that have axis labels a title and extend tothe axis limits See Also ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurfc surf 2 44 ezsurfc Purpose Syntax Description Remarks Combined surface contour plotter ezsurfc ezsurfc ezsurfc ezsurfc ezsurfc ezsurfc f f domain X Y Z X y Z smin smax tmin tmax or ezsurfc x y z min max sergi sexy Circ ee ee ae ae ezsurfc f creates a graph of f x y where f is a symbolic expression that repre
109. lue for n is 60 ezmesh circ plots f over a disk centered on the domain rotate3d is always on To rotate the graph click and drag with the mouse This example visualizes the function f x y xe TY 2 33 ezmesh with a mesh plot drawn on a 40 by 40 grid The mesh lines are set toa uniform blue color by setting the colormap to a single color syms x y ezmesh x exp x 2 y 2 40 colormap 0 O 1 x exp x y 0 5 AT MLN SSS NA G AUNAN SS Ji ISSS W I M ISSS Wes N PSS il WZ M Ml i Logos See Also ezcontour ezcontourf ezmeshc ezplot ezplot3 ezpolar ezsurf ezsurfc mesh ezmeshc Purpose Syntax Description Remarks Examples Combined mesh contour plotter ezmeshc ezmeshc ezmeshc ezmeshc ezmeshc ezmeshc f f domain X Y Z X y zZ Smin smax tmin tmax or ezmeshc x y z min max sargi sexy Circ ee ee ae ae ezmeshc 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 f is plotted over the default domain 2r lt x lt 2n 2r lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is 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
110. m A i j ButifA is a matrix of strings then A i j is a single character not a complete expression This version of the Symbolic Math Toolboxes makes extensive use of the new MATLAB object capabilities and works with Maple V Release 4 For this reason it is not fully compatible with version 1 of the Symbolic M ath Toolbox Obsolete Functions Obsolete Functions This version maintains some compatibility with version 1 For example the following obsolete functions continue to be available in version 2 though you should avoid using them as future releases may not include them Function Description determ Symbolic matrix determinant linsolve Solve simultaneous linear equations eigensys Symbolic eigenvalues and eigenvectors singvals Symbolic singular values and singular vectors numeric Convert symbolic matrix to numeric form symop Symbolic operations symadd Add symbolic expressions symsub Subtract symbolic expressions symmul Multiply symbolic expressions symdiv Divide symbolic expressions sympow Power of symbolic expression eval Evaluate a symbolic expression In version 1 these functions accepted strings as arguments and returned strings as results In version 2 they accept either strings or symbolic objects as input arguments and produce symbolic objects as results version 2 provides overloaded MATLAB operators or new functions that you can use to replace most of these functions in your existing code For ex
111. 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 2H 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 F or additional information you can access Maple help on the hyperbolic cosine integral using mhelp Chi Now type z 2 1 0 4 5 w mfun Chi z which returns W 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 O 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 1 130 Special Mathematical Functions e Harmonic Function e Exponential Integrals e Logarithmic Integral e Sine and Cosine Integrals e Hyperbolic Sine and Cosine Integrals e Shifted Sine Integral
112. mputed respectively using the commands E eig A V E eig A Linear Algebra The variable precision counterparts are E eig vpa A V E eig vpa A The eigenvalues of A are the zeros of the characteristic polynomial of A det A x 1I which is computed by poly A The matrix H from the last section provides our 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 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 0 0 0 0 32 45 1 180 12589 1 2 0 0 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 we convert T and E to decimal notation We proceed as follows The commands Td double T Ed double E 1 75 1 Tutorial 1 76 return Td 1 0000 1 6497 1 2837 4 0000 1 0000 1 0000 3 3333 0 7051 1 5851 Ed 0 0 0 0 1 3344 0 0 0 0 0878 The first eigenvalue is zero The corresponding eigenvector the first column of Ts 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 formul
113. mputer Software or Commercial Software Documentation Clause at DFARS 227 7202 3 therefore the rights set forth herein shall apply and b For any other unit or agency NOTICE Notwithstanding any other lease or license agreement that may pertain to or accompany the delivery of the computer software and accompanying documentation the rights of the Government regarding its use reproduction and disclo sure are as set forth in Clause 52 227 19 c 2 of the FAR MATLAB Simulink Stateflow Handle Graphics and Real Time Workshop are registered trademarks and Target Language Compiler 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 First printing October 1994 Second printing May 1997 Third printing for Symbolic Math Toolbox 2 0 September 1998 Updated for Release 11 online only Tutorial 1 Introduction eek aoa Ss ee we Re 1 2 Getting Help s 56 se eiden ee a A ie ee Se ee ee 1 4 Getting Started 0 1 5 Symbolic ObjectS eaa e a aae a Aa eE eee 1 5 Creating Symbolic Variables and Expressions 1 6 Symbolic and Numeric Conversions 00c eee eee 1 7 Constructing Real and Complex Variables 1 9 Creating Abstract Functions 00 0e0 ee 1 10 Using sym to Access Maple Functions 1 11 Example Creating a Symbolic Matrix 1
114. ms 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 2 79 limit Purpose Syntax Description Examples See Also Limit of a symbolic expression limit F x a limit F a limit F j limit F x a right limit F x a left limit F x a takes the limit of the symbolic expression F as x gt a limit F a uses findsym F as the independent variable limit F usesa 0 asthe 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 or maple 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 the
115. n 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 isan 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 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 z to 100 digits maple evalf Pi 100 maple evalf Pi 100 maple evalf Pi 100 The statement result status maple BesselK 4 3 2 81 maple returns the following output because M aple s Besse1k function needs two input arguments result Error in BesselK invalid arguments status 2 The traceon command shows how Symbolic Math Toolbox commands interact with Maple For example the statements syms xX v x 2 1 x 2 4 maple traceon or maple trace on w factor v return Vv 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 result MATRIX x 1 x 1 x 2 x 2 x 1 O01 x 2 x 2 Z This example reveals that the factor statement first invokes
116. nction 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 Using Maple Functions Debugging The maple command provides two debugging facilities trace mode and a status output argument 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 exp 2 a result exp 2 a Torevert back to suppressed printing use maple traceoff Status Output Argument The maple function optionally returns two output arguments result and status If the maple call succeeds Maple returns the result in the result argument and zeroin 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 1 141 1 Tutorial Suppose we forget to supply the second argument when calling the discrim function syms a bc x result status maple discrim a x 2 b x
117. ndow 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 2 37 ezplot Examples 2 38 domain For the range ezplot omits extreme values associated with singularities This example plots the implicitly defined function x2 yt 0 over the domain 2z 2r syms X y ezplot x 2 y 4 ezplot See Also The following statements syms xX ezplot erf x grid plot a graph of the error function erf x ezcontour ezcontourf ezmesh ezmeshc ezplot3 ezpolar ezsurf ezsurfc plot 2 39 ezplot3 Purpose Syntax Description Examples 2 40 3 D parametric curve plotter ezplot3 x y zZ 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 0 lt t lt 2z ezplot3 x y zZ 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 spatial curve This example plots the parametric curve 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 ezplot3 See Also ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurf ezsurfc plot3 2 41 ezpolar Purpose Syntax
118. ne integral function Syntax Y cosint X Description cosint X evaluates the cosine integral function at the elements of xX a numeric matrix or a symbolic matrix The cosine integral function is defined by X Ci x y IN Tees lat 0 where y is Euler s constant 0 577215664 Examples 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 syms X f cosint x diff x return cos x x See Also sinint 2 16 det Purpose Syntax Description Examples Matrix determinant r det A det A computes the determinant of A where A is 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 2 17 diag Purpose Syntax Description Examples 2 18 Create or extract symbolic diagonals diag A k diag A diag A k whereA 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 0 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 w
119. ns e g integration differentiation substitution etc on f you need to create the variables explicitly You can do this by typing a sym a b sym b c sym c x sym x or simply syms abc x In general you can use sym or syms to create symbolic variables We recommend you use syms because it requires less typing Symbolic and Numeric Conversions Let s return to the golden ratio 14 5 p 2 The sym function has four options for returning a symbolic representation of the numeric valuerho 1 sqrt 5 2 The f option sym rho f returns a symbolic floating point representation 1 9e3779b97f4a8 2 0 The r option sym rho r returns the rational form 7286977268806824 2 52 1 Tutorial This is the default setting for sym That is calling sym without a second argument is the same as using sym with the r option sym rho ans 7286977268806824 2 52 sym 25 ans 1 4 The third option e returns the rational form of rho plus the difference between the theoretical rational expression for rho and its actual machine floating point value in terms of eps the floating point relative accuracy sym rho e ans 728697 7268806824 2 52 In this case the theoretical and actual floating point values for rho are the same F or 1 3 however we obtain sym 1 3 e ans 1 3 eps 12 The fourth option d returns the decimal expansion of rho up to the
120. ntegral Transforms for complete details 1 63 1 Tutorial Variable Precision Arithmetic Overview There are three different kinds of arithmetic operations in this toolbox e Numeric MATLAB s floating point arithmetic e Rational Maple s exact symbolic arithmetic e 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 5 6 And also with the toolbox the statements digits 25 vpa 1 2 1 3 use variable precision arithmetic to return 8333333333333333333333333 Thefloating point operations used by numeric arithmetic are the fastest of the three and require the least computer memory but the results are not exact The number of digits in the printed output of MATLAB s 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 In the computation of the numeric result above there are actually three roundoff errors onein the division of 1 by 3 onein the addition of 1 2 tothe Variable Precision Arithmetic 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 i
121. number of significant digits specified by digits sym rho d ans 1 6180339887498949025257388711907 1 3 Getting Started The default value of digits is 32 hence sym rho d returns a number with 32 significant digits but if you prefer a shorter representation usethe digits command as follows digits 7 sym rho d ans 1 618034 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 infinitely precise symbolic 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 x sym x real y sym y real 1 9 1 Tutorial 1 10 or more efficiently syms x y real z Xx 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 formal complex variable and can be manipulated as such Thus the commands conj x conj z expand z conj z return the complex conjugates of the variables X X i y x 2 y
122. nvolving functions of sums For example f expand f ax x y axx a y x 1 x 2 x 3 x 3 6 x 2 11 x 6 x x x 6 11 6 x 3 6 x 2 11 x 6 exp a b exp a exp b cos x y cos x cos y sin x sin y cos 3 acos x 4 x 3 3 x horner The statement horner f transforms a symbolic polynomial f into its Horner or nested representation For example f horner f x 3 6 x 2 11 x 6 6 11 6 x x x 1 1 2 2 x 3 3 x 2 11 10 11 5 33 10 x x 1 49 1 Tutorial factor If f is a polynomial with rational coefficients the statement factor f expresses f as a product of polynomials of lower degree with rational coefficients If f cannot be factored over the rational numbers the result is f itself For example f factor f X 3 6 xX 24 11 xX 6 x 1 x 2 x 3 x 3 6 x 2 11 x 5 x 3 6 x 2 11 x 5 x 6 1 x 2 1 Xx 4 x 2 1 Hereis another example involving factor It factors polynomials of the form x n 1 This code syms X n 1 9 x x ones size n 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 2 1 x 2 1 x 3 1 x 1 x 2 x4 1 x 4 1 x 4 1 x 5 1 x 1 x 4 x 34 x 2 x 1 x 6 1 x 24 1 x 4 x 241 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
123. of F LG w I x Proceeding we type G 1 w 4 1024 g ifourier G w x g simple expand g pretty g and see 1 1024 1 1024i exp 4 41 x Heaviside x exp 4 4 i x i exp 4 4i x Heaviside x i Heaviside x exp 4 41 x Heaviside x exp 4 4 i x i exp 4 4 i x Notice that g contains the Heaviside distribution 1 for x gt 0 H x 4 0 for x lt 0 singular for x 0 Wecan factor out the H eaviside distribution H sym Heaviside x g collect g H pretty g 1 117 1 Tutorial 1 118 returns 1 1024 1 1024 i exp 4 4 i x i exp 4 4 i x i exp 4 4 i x exp 4 4 i x Heaviside x 1 1024 1 1024 i exp 4 4 i x i exp 4 4 i x Since Y is the product of Fourier transforms then y is the convolution of the transformed functions That is F y Y w A w G w F 6 F g implies oo y x 8 9 gx y8ONdx g oo by the special property of the Dirac Delta function To plot this function we must substitute the domain of x into y x using the subs command XX 3 0 05 3 YY double subs g x XX plot XX YY title Beam Deflection for a Point Shock xlabel x ylabel y x Integral Transforms The resulting graph x10 Beam Deflection for a Point Shock 20 T T y x shows that the impact of a blow on a beam is highly local
124. oly2sym Purpose Syntax Description Examples See Also 2 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 arein the numeric vector c The default symbolic variableis 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 C X CX Ch poly2sym uses sym s default rational conversion mode to convert the numeric coefficients to symbolic constants This mode expresses the symbolic coefficient approximately as a ratio of integers if sym can find a simple ratio that approximates the numeric value otherwiseas 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 0 1 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
125. omputational grid of size 35 by 35 syms x y ezsurfc y 1 x 2 y 2 5 5 2 pi 2 pi 35 Use the mouse to rotate the axes to better observe the contour lines this picture uses a view of azimuth 65 5 and elevation 26 yi 1 Kt y ezcontour ezcontourf ezmesh ezmeshc ezplot ezpolar ezsurf surfc factor Purpose Syntax Description Examples See Also F actorization factor X factor can take a positive integer an array of symbolic expressions or an array of symbolic integers as an argument If N is a positiveinteger factor N returns the prime factorization of N If S is 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 b b 2 factor sym 12345678901234567890 returns 2 3 2 5 101 3803 3607 27961 3541 collect expand horner simplify simple 2 47 findsym Purpose Syntax Description Examples See Also 2 48 Finds the variables in a symbolic expression or matrix 5 l findsym S findsym S n 5 ll findsym S returns all symbolic variables in Sin alphabetical order separated by commas If s does not contain any variables findsym returns an empty string find
126. onal expression and its actual floating point value For example sym 3 pi 4 is 3 pi 4 103 eps 249 d stands for decimal The number of digits is taken from the current setting of digits used by vpa F ewer 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 2 117 syms Purpose Syntax Description Examples See Also 2 118 Short cut for constructing symbolic objects syms argi arg2 syms argi arg2 real syms argi arg2 unreal syms argi arg2 is short hand notation for argi sym argi arg2 sym arg2 syms argi arg2 realis short hand notation for argi sym argi real arg2 sym arg2 real syms argi arg2 unreal is short hand notation for argi sym argi 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 dear the symbolic object x of it
127. os 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 G 2 produce A cos t 2 sin t 2 2 cos t sin t 2 cos t sin t cos t 2 sin t 2 The simple function A simple A 1 69 1 Tutorial 1 70 uses a trigonometric identity to return the expected form by trying several different identities and picking the one that produces the shortest representation A cos 2 t sin 2 t sin 2 t cos 2 t A Givens rotation is an orthogonal matrix so its transpose is its inverse Confirming this by I G G which produces p 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 Let s do several basic linear algebraic operations 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 Linear Algebra The computed elements of H are floating point numbers that are the ratios of small integers Indeed His a MATLAB array of class double Converting H to a symbolic matrix H sym H 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 t
128. ox Before using these functions you must first initialize the Orthogonal Polynomial Package by typing maple with orthopoly Note that in all cases n is a non negative integer and x is real Table 2 2 Orthogonal Polynomials Polynomial Maple Name Arguments Gegenbauer G n a x a s a nonrational algebraic expression or a rational number greater than 1 2 Hermite H n x Laguerre L n x Generalized L n a x a s a nonrational algebraic Laguerre expression or a rational number greater than 1 Legendre P n x J acobi 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 2 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 BesselI and mhelp BesselI both return Maples online documentation for the Maple Bessel function See Also maple 2 94 Purpose Syntax Description Examples See Also Basis for null space Z null A The columns of Z nul1 A forma 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 return aaa 3 3 1 0 0 0 0 arithmetic operators colspace rank rref svd nu
129. ple 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 Pedagogical and Graphical Applications ezcontour ezcontourf ezmesh ezmeshc Contour plotter Filled contour plotter Mesh plotter Combined mesh and contour plotter 2 Reference Pedagogical and Graphical Applications ezplot ezplot3 ezpolar ezsurf ezsurfc funtool rsums taylortool Function plotter 3 D curve plotter Polar coordinate plotter Surface plotter Combined surface and contour plotter Function calculator Riemann sums Taylor series calculator Conversions char double poly2sym sym2poly Convert sym object to string Convert symbolic matrix to double Function calculator Symbolic polynomial to coefficient vector Basic Operations ccode conj findsym fortran imag C code representation of a symbolic expression Complex conjugate Determine symbolic variables Fortran representation of a symbolic expression Imaginary part of a complex number Basic Operations 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
130. r b b f x dx and f v dv a a respectively Here are some additional examples f a b int f a b x 7 0 1 1 8 1 x 1 2 log 2 log x sqrt x 0 1 4 9 exp x 2 0O inf 1 2 pi 1 2 bessel 1 Z 0 1 besselj 0 1 1 1 25 1 Tutorial 1 26 For the Bessel function besselj example it is possible to compute a numerical approximation to the value of the integral using the double function The command a int besselj 1 z 0 1 returns a besselj 0 1 1 and the command a double a returns a 0 23480231344203 Integration with Real Constants One of the subtleties involved in symbolic integration is the value of various parameters F or example it would seem evident that the expression en kx is the positive bell shaped curve that tends to 0 as x tends to for any real number k An example of this curve is depicted below with a J2 and generated using these commands k syms x k sym 1 sqrt 2 f exp k x 2 ezplot f Calculus exp 1 2 x 2 The Maple kernel however does not a priori treat the expressions k or x2 as positive numbers To the contrary Maple assumes that the symbolic variables xand kasa priori indeterminate That is they are purely formal variables with no mathematical properties Consequently the initial attempt to compute the integral 2 e dx in the Symbolic Math Toolbox using the commands
131. r on in the computation syms R1 R2 R3 L C real dI1 sym diff I1 t t dQ sym diff Q t t I1 sym I1 t Q sym Q t syms t s E sin t Voltage eqi dI1 R2 dQ L R2 R1 I1 L eq2 dQ E Q C R2 R3 R2 I1 R2 R3 At this point we have constructed the equations in the MATLAB workspace An approach to solving the differential equations is to apply the Laplace transform which we will apply to eq1 and eq2 Transforming eq1 and eq2 L1 laplace eq1 t s L2 laplace eq2 t s returns L1 s laplace 1I1 t t s 11 0 R2 L s laplace Q t t s Q 0 R2 R1 L laplace I1 t t s L2 s laplace Q t t s Q 0 1 R2 R3 C C s 2 1 laplace Q t t s R2 R2 R3 laplace I1 t t s 1 121 1 Tutorial 1 122 Now we need to solve the system of equations L1 0 L2 0 for laplace I1 t t s and laplace Q t t s the Laplace transforms of l and Q respectively To do this we need to make a series of substitutions F or the purposes of this example use the quantities Ry 4Q ohms R 2 R3 3Q C 1 4 farads L 1 6 H henrys 4 0 15 amps and Q 0 2 amps sec Substituting these values in L1 syms LI1 LQ NI1 subs L1 R1 R2 R3 L C 11 0 Q 0 4 2 3 1 6 1 4 15 2 returns NI s laplace I1 t t s 35 2 5 4 s laplace Q t t s 5 4 laplace 1I1 t t s The substitution NQ subs L2 R1 R2 R3 L C 11
132. real See Also findsym 2 124 taylortool Purpose Syntax Description Examples See Also Taylor series 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 aref 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 funtools rsums 2 125 tril Purpose Symbolic lower triangle Syntax tril X tril X K Description 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 Examples Suppose A a b c 1 2 3 a 1 b 2 ct 3 Then tril A returns a 0 0 1 2 0 at1 b 2 c 3 tril A 1 returns a b 0 1 2 3 at1 b 2 c 3 triu A 1 returns 0 0 0 1 0 0 at1 b 2 0 See Also diag triu 2 126 triu Purpose Symbolic upper triangle Syntax triu X triu X K Description triu X is the upper triangular part of x triu X K returns an upper triangular matrix that retains t
133. ression b 2 b a c b c ata 2 c 2 1 2 throughout v and E We first use subexpr v subexpr v S which returns S b 2 b a c b c ata 2 c 2 1 2 c a c 1 b c S a c b c S a c 1 1 1 1 mmnm lt w n oO mai w i w n oO lt ri 1 59 1 Tutorial Next substitute the symbol s into E with E subs E S S E S 0 0 0 S 0 0 0 b c a Now suppose we want to evaluate v at a 10 We can do this using the subs command subs v a 10 This replaces all occurrences 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 ls 1 Notice however that the symbolic expression represented by S is unaffected by this substitution That is the symbol a in S is 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 Let s look at S Suppose that in addition to substituting a 10 wealsowant to substitute the values for 2 and 10 for b and c respectively The way to dothis is to set values for a b andc in the workspace Then subs evaluates its input using the existing symbolic and double variables in the current workspace In our example we first set a 10 b 2 c 10 subs S ans 64 1 2 Simplifications and Substitutions To look at the contents of our
134. return cos t sin t Sin t cos t 1 78 Linear Algebra Next the command g eig G produces g cos t cos t 2 1 cos t cos t 2 1 1 2 We can use simple to simplify this form of g Indeed 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 gt N lt gt pe how simplify cos t i sin t cos t i sin t how radsimp g exp i t 1 exp i t 1 79 1 Tutorial 1 80 how convert exp g exp i t exp i t how simplify Notice the first application of simple uses simplify 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 Linear Algebra Jordan Canonical Form The ordan 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 ordan canonical form is the diagonal matrix of eigenvalues and the columns of the transformation matrix are the eigenvectors This always
135. rig totransform 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 sin x 2 3 COS XxX 2 1 cos x 2 sin x 2 cos 2 x cos x Ssin x 2 1 2 cos x i sin x cos x i sin x exp i x cos 3 acos x 4 x 3 3 X 1 55 1 Tutorial 1 56 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 2 1 18 12 a 3 81 1 2 1 3 1 3 a 1 2 1 18 12 a 3 81 1 2 1 3 1 2 1 2 1 18 12 a 3 81 1 2 1 3 1 6 a 1 2 1 18 12 a 3 81 1 2 1 3 1 2 1 3 1 2 1 2 1 18 12 a 3 81 1 2 1 3 1 3 a 1 2 1 18 12 a 3 81 1 2 1 3 1 2 1 24 1 18 12 a 3 81 1 2 1 3 1 6 a 1 2 1 18 12 a 3 81 1 2 1 3 1 2 1 3 1 2 1 2 1 18 12 a 3 81 1 2 1 3 1 3 a 1 2 1 18 12 a 3 81 1 2 1 3 Simplifications and Substitutions Use the pretty function to display s in a more readable form pretty s S 1 3 a 1 1 3 1 1 3 a 1 2 1 2 1 1 6 1 2i3 1 3 1 1 3 a 1 2 1 2 1 1 6 1 2 i3 1 3 1 1 2 1 18 12 a 1 1 1 1 Tn i a a ee n a ee ee ee a 81 The pretty command inherits the n
136. rix 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 anumeric vector with twointeger components d m n The multiple assignment statement m n size A returns thetwointegers in two separate variables Thestatement d size A n returns the length of the 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 cb aj size A r size A 2 Q ll 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 eqi eq2 eqn g solve eqi 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 Theinputs are either symbolic expressions or strings specifying equations solve eqi eq2 eqn solves the system of equations implied by eq1 eq2 eqn in then variables determined by apply
137. s det V which gives 462962962962958e 3 and V b which is 3 000000000000041 24 00000000000021 30 00000000000019 Since H is nonsingular the null space of H null H Linear Algebra and the column space of H colspace H produce an empty matrix and a permutation of the identity matrix respectively To make a more interesting example let s try to find a value s for H 1 1 that makes H singular The commands syms sS 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 aan 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 1 73 1 Tutorial 1 74 and inv H produces an error message error using gt inv Error in inverse singular matrix because H is singular For this matrix Z null H andC colspace H are nontrivial Le2 1 4 10 3 C 0 1 1 0 6 5 3 10 It should be pointed out that even though H is 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 Thesymbolic eigenvalues of a square matrix A or the symbolic eigenvalues and eigenvectors of A are co
138. s not exist or is not unique Rectangular matrices A are allowed but the equations must be consistent a least squares solution is not computed af 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 Examples Matrix power X P raises the square matrix X to the integer power P If X is ascalar 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 error 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 Array transpose A isthe real transpose of A A does not conjugate complex entries The following statements syms abc d A a b c d A A A A A A 2 return a b c d 0 0 0 0 The following statements syms ali a12 a21 a22 bi b2 A a11 a12 a21 a22 B b1 b2 X B A x1 X 1 x2 X 2 2 9 Arithmetic Operations return xi a21 b2 b1 a22 a11 a22 a12 a21 x2 a11 b2 a12 b1 a11 a22 a12 a21 See Also null solve 2 10 ccode Purpose Syntax Description Examples See Also C code representation of a symbolic expression ccode s ccode s returns a fragment of C that evaluates the s
139. s status real You can achieve this using the commands syms x unreal or clear mex or clear all In 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 Symbol ic to numeric polynomial conversion c sym2poly s sym2poly returns arow vector containing the numeric coefficients of a symbolic polynomial The coefficients are ordered in descending powers of the pol ynomial 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 Vj 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 2 119 symsum Purpose Syntax Description Examples 2 120 Symbolic summation symsum symsum symsum symsum S S V s a b s v a b ea r e anaana Oa 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 isthe summation of the symbolic expression s with respect tothe symbolic variable v from 0 to v 1 symsum s a b and symsum
140. s 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 of the three in terms of both computer time and memory Theresults 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 function 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 M aple documentation uses the term hardware floating point for what we are calling numeric or floating point and uses the term floating point arithmetic for what we are calling variable precision arithmetic Example Using the Different Kinds of Arithmetic Rational Arithmetic By default the Symbolic M ath 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 F or example if the double matrix is A 1 1000 1 2000 1 3000 2 1000 2
141. selj nu 1 z nu z besselj nu z 1 18 Calculus The diff function can alsotakea 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 which returns A cos a x sin a x The command dy diff A returns dy Sin a x a cos a x a sin a x Sin a x cos a x sin a x cos a x 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 transformation from Euclidean x y z to spherical r coordinates as given by x r cos A cos 9 y r cos sing and z r sin Note that corresponds to elevation or latitude while denotes azimuth or longitude 1 19 1 Tutorial 1 20 To calculate the J acobian matrix J of this transformation use the jacobian function The mathematical notation for J is 9 X Y X o r A For the purposes of toolbox syntax we use 1 for A and f for The commands syms r 1 f x r cos l cos f y r cos 1 sin f z r sin 1l J jacobian x y z r 1 f return the J acobian J cos l cos f r sin 1 cos f r cos 1 sin F cos 1 sin f r sin 1 sin f r cos 1 cos F sin 1 r cos l 0 and the command detJ simple det J returns detJ cos l r 2 Notice that the first argument of the j acobian function must be a
142. sents a mathematical function of two variables such as x and y The function f is plotted over the default domain 2r lt x lt 2n 2n lt y lt 2n MATLAB chooses the computational grid according to the amount of variation that occurs if the function f is 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 Iff is 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 over 0 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 2r lt S lt 2n 27 lt t lt 2n ezsurfc x y zZ 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 rotate3d is always on To rotate the graph click and drag with the mouse 2 45 ezsurfc Examples See Also 2 46 Create a surface contour plot of the expression y f x y 1 x 2 y over the domain 5 lt x lt 5 2 pi lt y lt 2 pi with a c
143. 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 Simplifications and Substitutions The simple function has several forms each returning different output The form simple f displays each trial simplification and the simplification 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 1 factor cos x 2 sin x 2 expand cos x 2 sin x 2 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 1 53 1 Tutorial and returns ans 1 This
144. sol 5 3 u 2 3 v 4 3 u 1 3 v Z 5 3 u 2 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 d2y 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 changed 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 The table below details the output syntax Syntax Scope y dsolve Dyt yO y One equation one output 1 107 1 Tutorial 1 108 Syntax Scope u v dsolve Du v
145. ss functions in Maple s linear algebra package 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 tool boxes you can write your own M files to access Maple functions and the M aple workspace The following sections of this Tutorial provide explanation and examples on how to use the toolboxes Section Covers Getting Help Getting Started Calculus Simplifications and Substitutions Variable Precision Arithmetic Linear Algebra Solving E quations Integral Transforms Special Mathematical Functions Using Maple Functions Extended Symbolic Math Toolbox H ow to get online help for Symbolic Math Toolbox functions Basic symbolic math operations How to differentiate and integrate symbolic expressions H ow to simplify and substitute values into expressions How to control the precision of computations Examples using the tool box functions How to solve symbolic equations Fourier Laplace and z transforms H ow to access Maple s special math functions How to use Maple s help debugging and user defined procedure functions Features of the Extended Symbolic Math Toolbox Chapter 2 Reference provides detailed descriptions of each of the functions in the toolboxes 1 Tutorial Gettin
146. stop on our tour of the Symbolic Math Toolbox 1 111 1 Tutorial Integral Transforms 1 112 Integral transforms and their discrete counterparts are powerful and important computational tools in engineering applied mathematics and science The Laplace transform acts on continuous systems differential equations its discrete analog the z transform operates on discrete systems difference equations Similarly the F ourier transform operates on continuous functions the discrete F ourier transform DFT on finite data samples The most famous and efficient DFT is the fast Fourier transform FFT The Symbolic Math Toolbox provides commands that enable you to compute the analytic Fourier Laplace and z transforms and their inverses If you want totaketheFFT of a data set use the MATLAB command fft The following sections describe the Symbolic Math Toolbox syntax for these three fundamental transforms and their inverses The Fourier and Inverse Fourier Transforms The Fourier transform of a function f x is defined as co iwx Fiflow fone dx and the inverse Fourier transform IFT as oo FTIO fone aw oo We refer to this formulation as the Fourier transform of f with respect to x as a function of w Or more concisely the Fourier transform of f with respect to x at w Mathematicians often use the notation F f to denote the F ourier transform of f In this setting the transform is taken with respe
147. sym S n returns the n variables alphabetically closest to x 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 returns pi t findsym x i y j z returns x y Z findsym aty 1 returns y compose diff int limit taylor finverse Purpose Syntax Description Examples See Also Functional inverse g finverse T g finverse f u 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 4 provided f 1 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 u compose syms 2 49 fortran Purpose Syntax Description Examples See Also Fortran representation of a symbolic expression fortran S fortran S returns the Fortran code equivalent to the expression S 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 E 0 2 E0 H 2 1 1 E 0 2 E0 H 2 2 1 E 0 3 E0 H 3
148. symbolic matrix One way to dothis is function y sini 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 Y pi 4 ans 0 sin x sin y 1 2 2 1 2 1 139 1 Tutorial A more efficient way to do this is to call M aple just once using the Maple map function The map function applies a M aple function to each element of an array In our 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 our 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 our sin2 function calls Maple only once it is considerably faster than our sini function which calls Maple prod size A number of times F or example using A x ones 10 10 on a Sun 4 sini A takes more than six times longer to compute than sin2 A Ona Macintosh 7500 100 PowerPC the ratio is four to one 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 fileis collect S x In this case the collect fu
149. th rational coefficients The lcm function computes the least common multiple of an arbitrary number of polynomials with rational coefficients The optional third argument cofa is assigned the cofactor a gcd a b The optional fourth argument cofb is assigned the cofactor b gcd a b Examples gt gcd x 2 y 2 x 3 y 3 X y gt lem x 2 y 2 x 3 y 3 3 4 4 3 yx ty X x y gt gcd 6 8 a b 2 gt a 3 gt b 4 See Also gcdex igcd ilcm Gcd numtheory GIgcd 1 137 1 Tutorial 1 138 Since we now know the Maple calling syntax for gcd we can write a simple M file to calculate the greatest common divisor First create the M file gcd in the sym directory and include the commands below function g gcd a b g maple gcd a b If werun this file syms x y z gcd x 2 y 2 x 3 y 3 w gcd 6 24 we get Z ytx w 6 Now let s extend our function so that we 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 Running this on some test data A sym 2 4 6 3 5 6 3 6 4 B sym 40 30 8 17 60 20 6 3 20 gcd A B Using Maple Functions we get the result ans 2 2 2 1 5 2 3 3 4 Vectorized Example Suppose we want to calculate the sine of a
150. 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 toits 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 horner Purpose Syntax Description Examples See Also 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 14 x x 2t y 2 y expand factor simple simplify syms 2 57 hypergeom Purpose Syntax Description Examples 2 58 Generalized hypergeometric function hypergeom n d z hypergeom n d z isthegeneralized hypergeometric function F n d z also known as the Barnes extended hypergeometric function and denoted by jF where j length n andk length d For scalar a b and c hypergeom a b c z is the Gauss hypergeometric function F 1 a b c z The definition by a formal power series is z Chk z F n d
151. tibility Guide A 6 Symbols 2 8 2 8 2 8 2 8 2 8 lt bd gt 2 8 29 29 28 sym directory 1 16 1 71 1 72 lt bd gt 2 8 2 9 2 9 A abstract functions 1 10 Airy differential equation 1 110 1 113 Airy function 1 110 1 130 algebraic equations solving 2 109 all 2 29 arithmetic operations 2 8 2 9 left division array 2 8 matrix 2 8 matrix addition 2 8 multiplication array 2 8 matrix 2 8 power array 2 9 matrix 2 9 right division array 2 8 matrix 2 8 subtraction 2 8 transpose array 2 9 matrix 2 9 B backslash operator 1 71 beam equation 1 115 Bernoulli polynomials 1 130 Bessel functions 1 114 1 131 differentiating 1 18 integrating 1 26 besseli 1 114 besselj 1 18 besselk 1 110 1 113 1 114 beta function 1 131 binomial coefficients 1 130 branch cut 1 46 C calculus 1 17 1 46 ccode 2 11 characteristic polynomial 1 75 1 77 2 97 Chebyshev polynomial 1 132 circuit analysis using the Laplace transform for 1 120 circulant matrix 1 11 1 59 clear 1 28 clearing variables in the Maple workspace 1 28 in the MATLAB workspace 1 28 2 118 Index collect 1 48 2 12 colspace 1 73 2 13 column space 1 73 complementary error function 1 131 complex conjugate 2 15 complex number imaginary part of 2 66 real part of 2 102 complex symbolic variables 1 9 compose 2 14 conj 1 10 2 15 2 116 converting symbolic matrices to numeric form 1 9 cosine integral func
152. tion 2 16 cosine integrals 1 131 cosint 2 16 D Dawson s integral 1 131 decimal symbolic expressions 1 8 default symbolic variable 1 13 definite integration 1 25 det 2 17 diag 2 18 diff 1 17 2 20 difference equations solving 1 126 differentiation 1 17 1 21 diffraction 1 132 digamma function 1 131 digits 1 9 2 21 Dirac Delta function 1 115 1 131 discontinuities 1 45 discrim 1 93 double 1 67 2 22 dsolve 1 108 1 114 2 23 E eig 1 74 2 25 eigenvalue trajectories 1 86 1 95 eigenvalues 1 74 1 80 1 87 2 25 computing 1 74 eigenvectors 1 75 elliptic integrals 1 131 eps 1 8 error function 1 131 Euler polynomials 1 130 expand 1 49 2 28 expm 2 27 exponential integrals 1 131 Extended Symbolic Math Toolbox 1 3 1 131 1 143 1 148 2 93 2 100 ezplot 1 34 F factor 1 50 2 47 factorial function 1 11 factorial operator 2 121 findsym 1 14 2 48 finverse 2 49 floating point arithmetic 1 64 floating point symbolic expressions 1 7 format 1 64 fortran 2 50 fourier 2 51 Fourier transform 1 112 1 119 2 51 Fresnel integral 1 131 function calculator 2 54 functional composition 2 14 functional inverse 2 49 funtool 2 54 Index G gamma function 1 131 Gegenbauer polynomial 1 131 generalized hypergeometric function 1 131 Givens transformation 1 69 1 78 golden ratio 1 6 H harmonic function 1 131 Heaviside function 1 117 1 131 Hermite polynomial 1 131 Hilbert matrix 1 9 1 70 horner 1
153. tion 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 C ice F t L s e ds C i where c is areal number selected sothat all singularities of L s are tothe left ofthelines c i F ilaplace L y makes F a function of y instead of the default t C o0 Fy Leds c i 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 ico Fo Lope ay C ic 2 63 ilaplace Examples Inverse Laplace Transform MATLAB Command 1 f s TD S C ico LHH i f s eds C i t g t t a C ico z 1 Lig 55 ateat C i ax xe 1 2 2 u a Ct ico Lie a g u e du C i 1 1 ax ax 2a 2ae f u f 1 s 2 ilaplace f returns t g 1 t a 2 ilaplace g returns x exp a x f 1 u 2 a 2 ilaplace f x returns 1 2 a exp a x 1 2 a exp a x 2 64 ilaplace Inverse Laplace Transform MATLAB Command 3 SV f s V 3 Ss V Ct ico L i f s v e dv C joo 3 S COSSX f s 3 v s 2 v 2 laplace f v x returns s 3 cos s x See Also ifourier iztrans laplace imag Purpose Syntax Description See Also 2 66 Symbolic imaginary part imag Z imag Z is the imaginary part of a symbo
154. tored 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 F or 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 1 47 1 Tutorial 1 48 This toolbox provides several functions that apply various 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 if there is morethan one candidate Hereare a few examples f collect f x 1 x 2 x 3 aaa eee x x x 6 11 6 x 3 6 x 2 11 x 6 1 x t x t 2xy t t Simplifications and Substitutions expand The statement expand f distributes products over sums and applies other identities i
155. ts if s does not change Single input Suppose a 980 and C1 3 exist in the workspace The statement y dsolve Dy a y produces y exp a t C1 Then the statement subs y produces ans 3 exp 980 t subs See Also Single Substitution subs atb 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 2 113 svd Purpose Syntax Description Examples 2 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 vV 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 311 e 6 i 4 47 17 9 34 1 svd See
156. uction Cambridge University Press Cambridge 1996 Packages of Library Functions Specialized libraries or packages can be used through the E xtended Toolbox These packages include e Combinatorial Functions e Differential Equation Tools e Differential Forms e Domains of Computation e Euclidean Geometry e Gaussian Integers e Grdbner Bases 1 Tutorial e Permutation and Finitely Presented Groups e Lie Symmetries e Boolean Logic e Graph Networks e Newman Penrose F ormalism e Number Theory e Numerical Approximation e Orthogonal Polynomials e p adic Numbers e Formal Power Series e Projective Geometry e Simplex Linear Optimization 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 You can use the Maplewith command to load these packages Say for example that you want to use the orthogonal polynomials package First get the Maple name of this package using the statement mhelp index packages which returns HELP FOR Index of descriptions for packages of library functions SYNOPSIS The following packages are available orthopoly orthogonal polynomials Extended Symbolic Math Toolbox You can then can access information about the package mhelp orthopoly Toload the package type maple with orthopoly This returns ans G H L P T U which is
157. utions s2 2 pi 11 6 pi 7 6 pi pi plot s2 0 s2 kX If we cannot find a symbolic solution we can compute a variable precision one For example digits 6 syms x X solve log x sin x Equivalently solve log x sin x results in b 996957e 1 1 19186 i 1 103 1 Tutorial 1 104 Several Algebraic Equations Now let s look at systems of equations Suppose we have the system x 3 o and we 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 usea two output call x y solve x 2 y 2 x y 2 alpha which returns X 0 0 alpha alpha y 2 alpha 2 alpha 0 0 Consequently the solution vector v x y appears to have redundant components This is due to the first equation x y2 0 which has two solutions in x and y x 0 y 0 A perturbation to the equations in the form of eqst x 2 y 2 1 x 1 2 y alpha Solving Equations produces four distinct solutions xX 1 2 alpha 1 2 alpha 2 2 1 2 1 2 alpha 1 2 alpha 2 2 1 2 1 2 alpha 1 2 alpha 2 2 1 2 1 2 alpha 1 2 alpha 2 2 1 2 yos 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 we did not specify the dependent variables solve uses fin
158. 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 Derivative of f int f Integral of f simple f Simplified form of f if possible num f Numerator of f den f Denominator of f 1f Reciprocal of f finv 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 valuein the field labeled a on the calculator control panel The operations are f a Replaces f x by f x a f a Replaces f x by f x a fra Replaces f x by f x a f a Replaces f x by f x a fa Replaces f x by f x a f x a Replaces f x by f x a f x a Replaces f x by f x a 2 55 funtool See Also 2 56 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 f g Replaces f x by f x g x f g Replaces f x by f x g x f g Replaces f x by f x g x The remaining buttons on the third row interchange f and g gf Replaces g with f swap Replaces f with g and g with f The first
159. wing statement inv genhilb 2 returns 34t 2 2 t 3 t 2 t 4 t S t 2 t 44t 3 t 2 4 t the symbolic inverse of the 2 by 2 Hilbert matrix See Also vpa Arithmetic Operations page 2 69 iztrans Purpose Syntax Description Examples 2 70 Inverse z transform f iztrans F iztrans F k iztrans F w k h h nou ot 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 f n F 22 tdz n 1 2 z R whereR is a positive number chosen sothat the function F z is analytic on and outside the circle z R IfF F n iztrans returns a function of k f f k f iztrans F k makes f a function of k instead of the default n Here kisa 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 22 f 2 z z 2 2 f Z P z 2 ZF 7 m f s z laz iztrans f TI z R returns n e 2 n n iztrans Inverse Z Transform MATLAB Operation n n 1 g n n 1 n 2 2 n 1 gn gt n 2n 1 1 1 k 1 iztrans Z tal 5 gin tdn 7 Fans a ine returns l 1 k z f z z a ZF f z z ldz iztrans f k z R returns ak a k z f x x exp z
160. 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 arenow variables of class double whileA 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 64 1 2 Typing whos reveals that a b and c remain 1 by 1 sym objects The subs command can be combined with double to evaluate a symbolic expression numerically Suppose we have 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 1 61 1 Tutorial One approach is to type ezplot M hold on ezplot P but this plot 1 t 2 sech t does not readily help us identify the curves 1 62 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 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 See the section I
161. would expect the diffracted wave to have zero intensity These results can be verified by setting x Inf Inf 1 134 Special Mathematical Functions in the code to calculate 1 135 1 Tutorial Using Maple Functions 1 136 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 Suppose we want to write an M filethat takes two polynomials or twointegers and returns their greatest common divisor For example the greatest common divisor of 14 and 21 is 7 The greatest common divisor of x 2 y 2 and x 3 y 3 isx y The first thing we need to know is how to call the greatest common divisor function in Maple We use themhe1p function to bring up the Mapleonlinehelp for the greatest common divisor gcd Let s try the gcd function mhelp gcd which returns Function gcd greatest common divisor of polynomials Function lcm least common multiple of polynomials Calling Sequence gcd a b cofa cofb lom a b Parameters a b multivariate polynomials over the rationals cofa cofb optional unevaluated names Using Maple Functions Description The gcd function computes the greatest common divisor of two polynomials a and b wi
162. y under the square root sign in the quadratic formula When it is negative the two roots are complex Thereis no discrim function in thetoolbox but thereis onein 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 ans 4 a c b 2 Thediscriminant 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 242563185060 t 4 The quantity tis one of the four roots of this quartic Let s find a numeric value for t digits 24 s solve discrim tau vpa s tau 1970031 04061804553618913 783792490602e 6 1076924816049e 5 318896441018863170083895e 5 i 1076924816049e 5 318896441018863170083895e 5 i 1 93 1 Tutorial 1 94 Of the four solutions we know that tau tau 2 is the transition point tau 783792490602e 6 because it is closest to our previous estimate A more generally applicable method for finding t 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
163. ymbolic expression s The statements syms xX f taylor log 1 x ccode f return tO x x x 2 x x x 3 pow x 4 0 4 pow x 5 0 5 The statements H sym hilb 3 ccode H return H O 0 1 0 H O 1 1 0 2 0 H 0 2 H 1 0 1 0 2 0 H 1 1 1 0 3 0 H 1 2 H 2 0 1 0 3 0 H 2 1 1 0 4 0 H 2 2 fortran latex pretty 2 11 collect Purpose Syntax Description Examples See Also 2 12 Collect coefficients D l collect S collect S v D ll 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 x y 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 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 A iS 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 O 1 15 8 5 4 See Also null orth in the online MATLAB Function Referen

Download Pdf Manuals

image

Related Search

Related Contents

presentation_nav_20021216 - SPIP  TF40 Touch  XO® Smart LinkTM Mode d`emploi  Folleto Kaput - Chemotécnica SA  PDC-616RL-C1 取扱説明書 第3版  

Copyright © All rights reserved.
Failed to retrieve file