# Symbolic Math Toolbox

## Perform symbolic math computations

Symbolic Math Toolbox provides functions for solving, plotting, and manipulating symbolic math equations. You can create, run, and share symbolic math code using the MATLAB® Live Editor. The toolbox provides functions in common mathematical areas such as calculus, linear algebra, algebraic and ordinary differential equations, equation simplification, and equation manipulation.

Symbolic Math Toolbox lets you analytically perform differentiation, integration, simplification, transforms, and equation solving. You can perform dimensional computations and conversions using SI and US unit systems. Your computations can be performed either analytically or using variable-precision arithmetic, with the results displayed in mathematical typeset.

You can share your symbolic work with other MATLAB users as live scripts or convert them to HTML or PDF for publication. You can generate MATLAB functions, Simulink® function blocks, and Simscape equations directly from symbolic expressions.

## Calculus

Define and perform operations on symbolic expressions, equations, numbers, and variables.

### Integration

Evaluate exact analytical solutions for definite or indefinite integrals. Perform high-precision numeric integrations using variable-precision arithmetic.

Compute the definite integral of a function and its maximum value using derivative.

### Differentiation

Calculate derivatives of symbolic expressions or functions including functional derivatives.

Find the local maxima, minima, and inflection points of f(x) using the 1st and 2nd derivative.

### Series Expansion, Integral Transformation, and Vector Analysis

Approximate functions using series expansions, compute common transforms and their inverses, and perform vector calculus operations.

Find the system response using Padé approximant of varying orders of accuracy.

## Equation Solving, Simplification, and Substitution

Manipulate, simplify, and solve symbolic expressions.

### Solve Algebraic and Differential Equations

Solve linear and nonlinear algebraic and differential equations analytically. Reduce differential algebraic equations.

Investigate the motion of a damped harmonic oscillator in the cases of under-, over-, and critical-damping.

### Simplify and Rewrite Expressions

Simplify and rewrite symbolic expressions using different assumptions or options to manipulate expressions for various computations.

Simplify fractions using the `simplify` function.

### Substitute Variables

Replace portions of expressions with specific symbolic or numeric values to evaluate symbolic expressions using substitution.

Substitute elements in symbolic matrices using the `subs` function.

## Linear Algebra

Perform linear algebra operations on symbolic vectors and matrices.

### Matrix Operation and Transformation

Analyze, transform, and decompose matrices to study the properties of linear equations.

Investigate the singular value of a 3-by-3 Hilbert matrix.

### Solve Systems of Linear Equations

Solve systems of linear equations in matrix or equation form. Compute matrix properties, such as the eigenvalues, norm, determinant and characteristic polynomial to study systems of linear equations.

Derive the symbolic stationary distribution of a trivial Markov chain and determine the transition probabilities.

## Visualization

Analytically plot symbolic expressions, create animations, and customize visualizations.

### Analytical Plotting

Use built-in functions to plot symbolic expressions and functions using extended MATLAB graphics capabilities.

Plot f=ex sin⁡(20x), ex, and -ex using the fplot command.

### Animation

Visualize the behavior of symbolic expressions using animations.

An animation of a moving automotive piston given a changing angular speed.

## Variable-Precision Arithmetic

Control precision of computations with variable-precision arithmetic

### Precision and Computation Speed

Explicitly set the number of significant digits to avoid hidden round-off errors. Increase the speed of calculations by reducing the precision with variable-precision arithmetic.

Improve the computation time of the Riemann zeta function by reducing precision.

## Units and Dimensional Analysis

Perform dimensional computations using built-in or custom unit systems

### Define, Create, and Convert Units

Create custom unit systems and convert between existing unit systems. Directly use over 2000 built-in units of measurement for physical quantities such as mass, time, velocity, and power.

Visualize the velocity of a paratrooper as they approach terminal velocity.

### Perform Dimensional Analysis

Verify the dimensional compatibility and consistency of units in physics calculations.

Verify the dimensions of a kinematic equation using the `checkUnits` function.

## Documentation and Sharing

Document and share reproducible symbolic math computations using MATLAB live scripts

### Interactive Computations

Interactively update and display symbolic math computations alongside MATLAB code, formatted text, equations, images, and hyperlinks using the MATLAB Live Editor.

Use MATLAB live scripts to display symbolic math computations alongside MATLAB code and other documentation.

### Share MATLAB Code and Live Scripts

Create reproducible documentation by embedding code within a narrative. Publish and share your work as live scripts, generated PDFs or HTML documents.

Share your work with other MATLAB users as an executable notebook.

## Code Generation

Translate symbolic equations into functions or blocks for use in numeric simulations and engineering design.

### Generate code for MATLAB, Simulink, and Simscape

Generate MATLAB functions, Simulink function blocks, or custom equation-based Simscape components directly from symbolic expressions.

Extend the Simscape modeling environment by creating custom components from symbolic expressions.

### Generate code for C, Fortran, LaTeX, and MathML

Generate C or Fortran code from symbolic expressions for numeric computations. Generate LaTeX or MathML for display.

Generate optimized C code with comments from symbolic expressions.