Key Features

  • Symbolic integration, differentiation, transforms, and linear algebra
  • Algebraic and ordinary differential equation (ODE) solvers
  • Simplification and manipulation of symbolic expressions
  • Unit systems for specifying, converting, and computing using SI, US, and custom unit systems
  • Plotting of analytical functions in 2D and 3D
  • Symbolic expression conversion to MATLAB®, Simulink®, Simscape™, C, Fortran, and LaTeX
  • Variable-precision arithmetic

Integration, Differentiation, and Other Calculus

Using the familiar MATLAB syntax, you can define and perform operations on symbolic numbers, variables, expressions, and equations with the output rendered in mathematical typeset. Symbolic Math Toolbox™ supports a wide variety of mathematical functions for your computations.

You can perform arithmetic and calculus analytically including differentiation, definite and indefinite integration, limits, series, and summations and products. You can compute transforms and their inverses, including Fourier, Laplace, and Z-transforms.

Learn calculus in the Live Editor. Compute derivatives, integrals, and Fourier transforms symbolically using familiar MATLAB syntax.

Simplification, Substitution, and Solving

Symbolic Math Toolbox enables you to manipulate and simplify expressions through simplification, expansion, factorization, and rewriting expressions in specific terms. You can evaluate symbolic expressions by making substitutions to replace parts of expressions with specified symbolic or numeric values.

The toolbox enables you to analytically solve algebraic equations and systems of algebraic equations. You can solve well-posed systems of ordinary differential equations analytically to get exact answers that are free from numerical approximations. You can also make assumptions when solving to constrain your variables and solution.

Interactively explore and solve parametric equations. Use solve, simplify, and substitute to find the solution to the multivariate system of equations.

Linear Algebra

Symbolic Math Toolbox can solve systems of linear equations. You can perform analytical vector and matrix computations including calculating the curl, divergence, gradient, Jacobian, Laplacian, and potential.

You can execute matrix operations and apply general symbolic functions to each element in a matrix. The toolbox enables you to study your system of linear equations by computing matrix properties such as the norm, condition number, determinant, and characteristic polynomial.

You can transform, decompose, and take the inverse of your matrix. You can also get symbolic expressions for the eigenvalues and eigenvectors and perform a symbolic singular value decomposition of a matrix.

Solve systems of linear equations. Derive the symbolic stationary distribution of a trivial Markov chain and determine the transition probabilities.

Plotting Analytical Functions

Symbolic Math Toolbox expands MATLAB graphics by providing 2D and 3D plotting functions for symbolic expressions and equations. You can analytically plot curves, surfaces, contours, implicit functions, and surface meshes and work with parametric functions and piecewise continuous functions. You can also plot in Cartesian and polar coordinates.

The toolbox enables you to convert symbolic expressions from their continuous domains to discrete domains for easy visualization in MATLAB. Using MATLAB graphics, you can create animations and customized visualizations.

Explore gallery (2 images)

Variable-Precision Arithmetic

Use Symbolic Math Toolbox to explicitly set the number of significant digits used in your computations and maintain that accuracy throughout your computations. You can control the precision of computations and the tradeoff between accuracy and performance.

You can use high precision arithmetic to avoid hidden round off errors, and use lower precision when performance is a concern. Variable precision arithmetic can also be used to verify the results of an algorithm that uses standard double-precision or to provide an accurate numerical approximation when a closed form analytical solution is unavailable.

Variable-precision arithmetic can be used routinely when computing workflows, including arithmetic, integration, differentiation, and solving. You can set the decimal digit accuracy as high as you need to maintain the accuracy for all symbolic math functions and operations. You can convert results to MATLAB standard double-precision.

Controlling the precision of your computations with symbolic vs. variable-precision arithmetic.

Units and Dimensional Analysis

You can perform dimensional computations using units. Symbolic Math Toolbox includes over 2000 units of measurement for physical quantities such as mass, time, velocity, and power, as well as unit prefixes such as milli and kilo. Units are highlighted in an easy-to-read blue syntax in the MATLAB Live Editor helping you avoid mistakes when converting units. You can convert values between US or SI units or create your own custom unit systems. For example, you can compute unit conversion factors between Celsius, Fahrenheit, and Kelvin and switch between relative temperature and temperature difference.

You can perform dimensional analysis and derive physical equations from first principles by manipulating, simplifying, and solving equations with units. You can check that equations accurately represent the physics by checking for compatible dimensions and consistent units. You can non-dimensionalize equations to determine unitless characteristic constants that can be useful in describing the behavior of a system. For example, you can find the damping ratio ζ (zeta) of a mass spring system and use this to describe if the spring system is underdamped (ζ < 1), overdamped (ζ > 1) or critically damped (ζ = 1).

Explore gallery (3 images)

Interactive Computations in the MATLAB Live Editor

Use Symbolic Math Toolbox in the MATLAB Live Editor to interactively explore and rapidly develop mathematical models and algorithms.

You can create live scripts, which display symbolic math computations in mathematical typeset alongside MATLAB code, formatted text, equations, images, and hyperlinks. You can document and share your work as live scripts with other MATLAB users, or convert them to HTML or PDF for publication.

Symbolic Math Toolbox allows for mathematical formulas to be iteratively updated, enabling you to learn, teach, and develop reproducible research in mathematics, science, and engineering. You can parametrically explore equations, enabling you to perform and document engineering design requirements. The toolbox can also be accessed in MATLAB scripts or from the command window.

Symbolic Math Toolbox Live Editor examples.

MuPAD Notebook and Language

The MuPAD language and symbolic engine can be accessed from the MuPAD Notebook, as well as from the MATLAB Live Editor and command window. You can convert your MuPAD Notebooks to MATLAB live scripts. For more information, see MuPAD.

Generating Code for MATLAB, Simulink, and Simscape

Symbolic Math Toolbox can generate code for MATLAB functions, MATLAB function blocks for use in Simulink models, and custom equation based components for use in Simscape.

Build mathematical models from first principles using Symbolic Math Toolbox, including systems of differential equations. You can accurately and efficiently discretize your continuous mathematical models for use in discrete numerical simulation and engineering design. You can speed up numerical solver computations by providing exact analytical formulas for derivatives, gradients, and hessians.

Symbolic Math Toolbox enables you to share custom functions and components; using the generated code does not require a license for Symbolic Math Toolbox. The toolbox can also be used to generate code for C, Fortran, and LaTeX.

Explore gallery (2 images)