Variables, Expressions, Functions and Equations

Variables in MATLAB are by default double-precision. The Symbolic Math Toolbox extends this by allowing you to express numbers in exact symbolic form using sym and with variable-precision using vpa.

pi/6 + pi/4

ans = 1.3090

sym(pi/6) + sym(pi/4)

ans =

vpa(pi/6) + vpa(pi/4)

ans =

Symbolic variables can be used in mathematical expressions, functions and equations including trigonometric, logarithmic, exponential, and special functions. You can create symbolic expressions and perform mathematical calculations on them.

Find the intersection between lines and using solve. Equate the lines using the == operator.

syms y1y2
y1 = x+3; y2 = 3*x;
solve(y1 == y2)

ans =

Make assumptions on symbolic variables. There are 4 solutions to , two real and two complex. Assuming that x is real and , there is only one solution.

syms x
solve(x^4 == 1)

ans =

assume(x,'real')
assumeAlso( x > 0)
assumptions(x)

ans =

solve(x^4 == 1)

ans =

assume(x,'clear')

Substitution and Solving

The Symbolic Math Toolbox supports evaluation of mathematical functions by substituting for any part of an expression using subs. You can substitute numeric values, other symbolic variables or expressions, vectors, or matrices. The Symbolic Math Toolbox supports the solving of equations and systems of equations using solve. It supports solving multivariate equations, solving inequalities and solving with assumptions. Solutions can be found symbolically or numerically with high precision by using variable-precision arithmetic.

Make substitutions with your symbolic variables. Substitute into

syms xxo
subs(x^2+1,x,xo-1)

ans =

Substitute multiple values. For example, evaluate by substituting .

syms abc
subs(cos(a) + sin(b) - exp(2*c), [a b c], [pi/2 pi/4 -1])

ans =

Create and solve equations. Find the zeros of .

solve(9*x^2 - 1 == 0)

ans =

Solve the general quadratic equation and use subs to evaluate that solution for .

eqn = a*x^2 + b*x + c == 0;
sol = solve(eqn)

sol =

subs(sol,[a b c],[9 0 -1])

ans =

Solve equations symbolically or with variable-precision arithmetic when exact results or high precision is needed. The graph of is very flat near its root.

Simplification and Manipulation

The Symbolic Math Toolbox supports the simplification and manipulation of mathematical functions. Most mathematical expressions can be represented in different, but mathematically equivalent forms and the Symbolic Math Toolbox supports a number of operations, including factoring or expanding expressions, combining terms, rewriting or rearranging expressions, and simplification based on assumptions.

Perform polynomial multiplication and simplify the results, show that simplifies to .

Calculus (Differentiation, Integration, Limits, Series, etc)

The Symbolic Math Toolbox has a full set of calculus tools for applied mathematics. It can perform multivariate symbolic integration and differentiation. It can generate, manipulate, and perform calculations with series.

Find the derivative of .

diff(sin(x))

ans =

Find the derivative of using the chain rule.

diff(x^2+sin(2*x^4)+1,x)

ans =

Find the indefinite integral for .

int(exp(-x^2/2),x)

ans =

Find the definite integral for from 0 to 1.

int(x*log(1+x),0,1)

ans =

Show that at by computing the Taylor series expansion for around the point .

syms x
T = taylor(sin(x)/x)

T =

subs(T,x,0)

ans =

Show that is discontinuous at by showing that the left and right limits are not equal. .