| Products & Services | Solutions | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → Symbolic Math Toolbox |
| Contents | Index |
| Learn more about Symbolic Math Toolbox |
This table summarizes what's new in Version 4.9 (R2007b+):
New Features and Changes | Version Compatibility Considerations | Fixed Bugs and Known Problems | Related Documentation at Web Site |
|---|---|---|---|
Yes | Yes–Details labeled as Compatibility Considerations, below. See also Summary. | Bug
Reports | Printable Release Notes: PDF |
New features and changes introduced in this version are described here:
New MuPAD Language and Libraries Supplant Extended Symbolic Math Toolbox Software
New Functionality for Communication Between MATLAB Workspace and MuPAD
The default Symbolic Math Toolbox engine is now the MuPAD engine. For more information, see the MuPAD in Symbolic Math Toolbox chapter in the Symbolic Math Toolbox User's Guide.
The new engine causes many computed results to differ from those returned by previous versions of Symbolic Math Toolbox software.
Many computations return in a permuted order (such as a + b instead of b + a).
Some computations return in a different, mathematically equivalent form (such as (cos(x))^2 instead of 1 - (sin(x))^2).
diff(dirac(t)) returns dirac(t,1) instead of dirac(1,t).
sym(x,'f') no longer produces strings of the form hex digits*2^n. Instead the strings have the form (2^e+N*2^(e-52)), where N and e are integers.
For toolbox calculations, some symbols can only be used as symbolic variables, and not in strings: E, I, D, O, beta, zeta, theta, psi, gamma, Ci, Si, and Ei. This is because those symbols represent MuPAD reserved words, and are interpreted as the MuPAD word if you pass them as strings. The words Ci, Si, Ei represent special mathematical functions: the cosine integral, sine integral, and exponential integral respectively.
Error and warning message IDs may have changed.
Performance of numerical integration is slower than in previous versions.
Subexpressions, calculated by the subexpr function, may be different than in previous versions.
The pretty function no longer uses partial subexpressions (with syntax %n).
Int no longer evaluates some integrals, including many involving Bessel functions.
symsum(sin(k*pi)/k,0,n) no longer evaluates to pi.
The output of colspace may differ from previous versions, but it is mathematically equivalent.
The eig function may return eigenvalues in a different order than previous versions. Expressions returned by eig may be larger than in previous versions.
The jordan function may return diagonal subblocks in a different order than previous versions.
svd may return singular values in a different order than previous versions.
The coeffs function may return multivariable terms in a different order than in previous versions.
The expand function may return some trig and exponential expressions differently than in previous versions.
The simplify function involving radicals and powers make fewer assumptions on unknown symbols than in previous versions.
The subexpr function may choose a different subexpression to be the common subexpression than in previous versions.
Subexpressions no longer have partial subexpressions (previous syntax %n).
The solve function returns solutions with higher multiplicity only when solving a single polynomial.
acot(-x) = -acot(x) instead of pi - acot(x) as in previous versions.
acoth(-x) = -acoth(x) instead of 2*acoth(0) - acoth(x) as in previous versions.
The simple function has several differences:
The 'how' value combine(trig) has been replaced with combine(sincos), combine(sinhcosh), and combine(ln).
The 'how' values involving convert have been replaced with rewrite.
A new 'how' value of mlsimplify(100) indicates the MuPAD function Simplify(...,Steps=100) simplified the expression.
Simplifications such as (sin(x)^2)^(1/2) to sin(x) are no longer performed, since the MuPAD language is careful not to make assumptions about the sign of sin(x).
Arithmetic involving the vpa function uses the current number of digits of precision. Variable precision arithmetic may have different rounding behaviors, and answers may differ in trailing digits (trailing zeros are now suppressed).
The char function returns strings using MuPAD syntax instead of Maple™ syntax.
Testing equality does not compare strings as in previous versions; the symbolic engine equality test is used.
Saving and loading symbolic expressions is compatible with previous versions, except when the symbolic contents use syntax or functions that differ between Maple or MuPAD engines. For example, suppose you save the symbolic object sym('transform::fourier(f,x,w)'), which has MuPAD syntax. You get a MATLAB error if you try to open the object while using a Maple engine.
LaTeX output from the latex function may look different than before.
C and Fortran code generated with the ccode and fortran functions may be different than before. In particular, generated files have intermediate expressions as "optimized" code. For more information, see the Generating C or Fortran Code section of the User's Guide.
pretty output may look different than before.
solve returns solutions with higher multiplicity only when solving a single polynomial.
solve may return a different number of solutions than before.
Some calls to dsolve that used to return results involving lambertw now return no solution.
dsolve can now use the variable C.
Some dsolve results are more complete (more cases are returned).
Some dsolve results are less complete (not all previous answers are found).
finverse may be able to find inverses for different classes of functions than before.
When finverse fails to find an explicit inverse, it produces different output than before.
Fourier and inverse Fourier transforms return the MuPAD form transform::fourier when they cannot be evaluated. For example,
h = sin(x)/exp(x^2); FF = fourier(h) FF = transform::fourier(sin(x)/exp(x^2), x, -w)
The reason for this behavior is the MuPAD definition of Fourier transform and inverse Fourier transform differ from their Symbolic Math Toolbox counterparts by the sign in the exponent:
| Symbolic Math Toolbox definition | MuPAD definition | |
|---|---|---|
| Fourier transform |
|
|
| Inverse Fourier transform |
|
|
Several Fourier transforms can no longer be calculated, especially those involving Bessel functions.
ztrans and iztrans may return more complicated expressions than before.
Special Mathematical Functions.
The three-parameter Riemann Zeta function is no longer supported.
heaviside(0) = 0.5; in previous versions it was undefined.
The maple, mhelp, and procread functions error, unless a Maple engine is installed and selected with symengine.
The functionality of the MuPAD language, together with the included libraries, goes far beyond that of the previous Symbolic Math Toolbox software. However, it is not identical to that of the previous Extended Symbolic Math Toolbox™ software. The differences between these software packages are beyond the scope of these release notes. More information is available in the Differences in Maple and MuPAD Syntax section of the User's Guide.
You can access the MuPAD language in several ways:
To learn the commands, syntax, and functionality of the language, use the MuPAD Help browser, or read the Tutorial.
Use a MuPAD notebook, which contains an integrated help system for the language syntax.
Use the new evalin function or feval function to access the MuPAD language at the MATLAB command line. More detail is available in the Calling MuPAD Functions at the MATLAB Command Line section of the User's Guide.
The MuPAD help viewer contains complete documentation of the MuPAD language, and of the MuPAD Notebook Interface. For more information, see the Getting Help for MuPAD section of the User's Guide.
A MuPAD notebook is an interface for performing symbolic math computations with embedded math notation, graphics, animations, and text. It also enables you to share, document, and publish your calculations and graphics. For example, the MuPAD help viewer is essentially a special MuPAD notebook. For more information, see the Calculating in a MuPAD Notebook section of the User's Guide.
The MuPAD Editor GUI enables you to write custom symbolic functions and libraries in the MuPAD language. The Debugger enables you to test your code. For more information, consult the MuPAD help viewer.
| Function | Use |
|---|---|
| doc(symengine,...) | Access the MuPAD Help browser. |
| evalin(symengine,...) | Use MuPAD functionality in the MATLAB workspace. |
| feval(symengine,...) | Use MuPAD functionality in the MATLAB workspace. |
| getVar | Copy expressions residing in a MuPAD notebook into the MATLAB workspace. |
| mupad | Launch a MuPAD notebook . |
| mupadwelcome | Access MuPAD GUIs . |
| reset(symengine,...) | Clear the MuPAD engine for the MATLAB workspace. |
| setVar | Copy expressions residing in the MATLAB workspace into a MuPAD notebook. |
| symvar | Produce a list of symbolic objects in an expression. |
For more information, see the Integration of MuPAD and MATLAB section of the User's Guide.
If you own a compatible version of a Maple software, you can choose to have Symbolic Math Toolbox software use the Maple engine instead of a MuPAD engine. You might want to do this if you have existing Maple programs. Choose the engine by entering symengine at the MATLAB command line; this brings up a GUI for making your choice. For more information, see Choosing a Maple or MuPAD Engine in the User's Guide.
The new matlabFunction converts symbolic expressions to function handles or M-files. You can use these function handles and files in any MATLAB installation, even those without a Symbolic Math Toolbox license. For more information, see Generating MATLAB Function Handles and M-Files in the User's Guide.
![]() | Version 5.0 (R2008a+) Symbolic Math Toolbox Software | Version 3.2.3 (R2008a) Symbolic Math Toolbox and Extended Symbolic Math Toolbox Software | ![]() |

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |