File Exchange Pick of the Week

Our best user submissions

MathExplorer: Learn about math interactively with MuPAD! 3

Posted by Jiro Doke,

Jiro's pick this week is MathExplorer by Martin Brown. Since MATLAB is, first and foremost, a numerical computation package, we haven't picked too many entries that use symbolic capabilities. Well, here it is, and it's quite impressive! Symbolic Math Toolbox™ extends MATLAB by providing functions for solving and manipulating symbolic expressions. In R2007b, we introduced a notebook interface called the MuPAD Notebook App. It provides an interactive environment for performing symbolic calculations and creating a dynamic document. MathExplorer is a set of hyperlinked MuPAD notebooks (43 total) for teaching mathematical concepts that are typically taught in the first and second year of college. With his notebooks, the students can learn the concepts interactively by running dynamic examples and experimenting with different parameters. The concepts that are covered are:
  • Vectors
  • Complex Numbers
  • Differentiation
  • Integration
  • Taylor Series
  • Multivariable Calculus
  • Ordinary Differential Equations
  • Laplace Transform
  • Vector Calculus
  • Linear Algebra
It also contains a few application examples for some of the topics. Many of his notebooks contain animated graphs to better convey the concepts. For example, you can learn about the concept of differentiation: Or see how first and second order systems respond to a step input: Or visualize a 3D vector field: Comments Students out there, learn about mathematical concepts in a fun, interactive way using MathExplorer! If you're a professor, give this a try in your courses! Let us know what you think here or leave a comment for Martin.

Get the MATLAB code Published with MATLAB® R2012b


Comments are closed.

3 CommentsOldest to Newest


would you mind telling me How could I have good code for a tensor of tension that can show eig value and draw them in defferent figures?

I have a simple one but it has error because the value of eigenvalues are not real and has imaginry part that lead to have not the right figures that draw the eig base on their eigenvectors,

as an example I assume a simple tensor,amatrix a that has symbolic member(x),now we wanna draw the figure of eigenvalues base on x;
look over this:

function ykh
syms x
a=input(‘enter members of matrix a like this”a=[1 2 3;x 2*x 3;9 8 7]”‘)
disp v
disp d

this is a simple example,generaly How we can have a tensor or matrix that have symbolic members [x11 x12 ….x1n;x21 x22….x2n;xn1 xn2….xnn] and drawing eigenvalues base on a member of tensor or matrix,


Martin replied on : 3 of 3

The following mupad (notebook) code may not be exactly what is required, but it plots the eigenvalues of an n*n matrix which is a function of a single symbolic parameter a, where a can vary between limits and the expected range of a is animated. There are some limitations about unique eigenvectors etc and it hasn’t been extensively tested, but you should be able to pull something useful out?

aRange := 2..10;
A := matrix([[1,2,3],[a,2*a,3],[9,8,7]]);
V := linalg::eigenvectors(A);
Ve := V[1][3][1]:
for k from 2 to linalg::ncols(A) do
Ve := linalg::concatMatrix(Ve, V[k][3][1]):
plot(plot::Scene3d(plot::Matrixplot(Re(Ve), x=1..linalg::nrows(A), y=1..linalg::ncols(A), a=aRange), Header=”Real”),
plot::Scene3d(plot::Matrixplot(Im(Ve), x=1..linalg::nrows(A), y=1..linalg::ncols(A), a=aRange), Header=”Imaginary”),
Layout=Horizontal, Width=240);