

We have already seen compose(), which belongs on this list. There are a number of functions that we can use to perform basic high school algebra that might be tedious or error prone See how Matlab will order the variables in an expression with the findsym() function. Matlab chooses the variable closest in alphabetical order to x, (ties broken in favor of the end of the alphabet). Many operations on symbolic expressions are ambiguous unless the independent variable is specified. Subs(f,X,lambda-Y) % substitute (lambda - Y) for X in f ans = Subs(f,) % substitute 3 for X, 10 for Y in f ans = We can prevent this by substituting sym(3) Once all of the symbolic variables are numeric, the result is numerically evaluated. Subs(f,X,3) % substitute 3 for X in f ans =

The subs() function can be used to substitute one value for another, including a numeric value for symbolic one. We will make use of these in the sections to come. Symbolic matrices are created in much the same way numeric matrices are. You can convert an expression to C code as follows ccode(g) You can convert an expression to latex as follows latex(g)

Exponents, for example are printed on the line above, trying to mimic how you might The pretty() function tries to display a symbolic expression in a prettier way. H = compose(f,g) % functional composition: f(g(X)) f =įunctions of multiple variables can also be created.

We can build up more complicated symbolic expressions by defining functions of these variables. To convert a constant symbolic expression to a regular Matlab double value, use the double() function. Q = sym(22/14 + 18/402) % add two fractions exactly r = W = r*2-3/t % notice that r is not evaluated T = sym(2/3) % Need to use sym here, not syms Symbolic variables are treated differently than regular variables in Matlab and must be created using the sym() or syms() functions.Ĭonstant symbols can be defined too, which are not evaluated numerically. Online Documentation Working with Symbolic Variables For more information, see the online documentation. There is more to this package than we can describe here.
