YACAS & Euler
'YACAS' stands for 'Yet Another Computer Algebra System'. It is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. YACAS uses its own programming language designed for symbolic as well as arbitrary precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (320+ pages) covering the scripting language, the functionality that is already implemented in the system. Visit YACAS site for details and download.
Euler (current version 2.3) is a powerful numerical laboratory with a programming language. The system can handle real, complex and interval numbers, vectors and matrices. It can produce 2D/3D plots. Euler comes with Yacas. So one can combine symbolic and fast numeric programming. Here is the site to download EULER .
All versions are freeware and open source under the GNU general license. Some people call Euler another MatLab clone like Octave. That is not entirely true but EULER is no doubt similar to Matlab.