Accelerating the pace of engineering and science

Symbolic Math Toolbox

Key Features

  • Symbolic integration, differentiation, transforms, and linear algebra
  • Algebraic and ordinary differential equation (ODE) solvers
  • Simplification and manipulation of symbolic expressions
  • Plotting of analytical functions in 2D and 3D
  • Code generation from symbolic expressions for 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.

Analytical solutions of derivatives, integrals and Fourier 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.

Equations for finding parametric solutions to a multivariate system of equations.
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.

Transition probabilities of a Markov chain by eigenvector analysis.
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, 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.

Collection of analytical plots including 3D surface plots, 3D mesh plots, 3D parametric curves and contour plots.
Analytical plotting in the MATLAB Live Editor. Easily create 2D and 3D plots, surface plots, mesh plots, parametric curves and contour plots.
Mathematical models including equations and graphs of Gibbs phenomena, interpolation, and gradients.
Combine numeric and symbolic plots for greater insight. Top to Bottom, Analytical gradients, spline approximations and Gibbs phenomenon.

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.

Exact symbolic representation and use of pi versus variable precision arithmetic
Controlling the precision of your computations with symbolic vs. variable-precision arithmetic.

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.
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.

Create custom code for MATLAB, Simulink, and Simscape from symbolic equations
Customize and extend your engineering designs by using analytical results in MATLAB, Simulink, and Simscape. MATLAB function used to improve performance and accuracy in optimization.
Create custom code for MATLAB, Simulink, and Simscape from symbolic equations
Create custom equation-based components for modeling and simulating physical systems. MATLAB function used to improve performance and accuracy in optimization (left), Simscape Equation from the solution of an Ordinary Differential Equation (right).

Modeling Physical Systems in Teaching - Technology and Didactics

View webinar