The Octave-Forge Symbolic package adds symbolic calculation features to GNU Octave. It use SymPy under its hood, but no knowledge of Python is required.

I found in some way that the result of Octave symbolic package is more user-friendly than Matlab.


For example, you can test the following code in both applications to compare the results.

% pkg load symbolic
syms a1 a2 a3 m v0 t real
vt = (-a2+sqrt(-a2^2+4*a1*a3)*tan((-sqrt(-a2^2+4*a1*a3)/m)*t/2 + atan((2*a1*v0+a2)/sqrt(-a2^2+4*a1*a3))))/(2*a1)
xt = simplify(int(vt,t))

In Octave, the commented line ‘pkg load symbolic’ must be uncommented first to load the symbolic package.


Here it comes the output images of both applications.

Matlab shows:

Figure 1: Matlab show only text code

Figure 1: Matlab show only text code

As a comparison, Octave shows:

Figure 2: Octave show rendered results

Figure 2: Octave show rendered results

For Octave symbolic, the result formula is half rendered close to \(\LaTeX\) or MathType. But Matlab only returns pure symbolic expression code which is just not that easy for human to read.


Although Matlab is faster, but the plain text output is not friendly for me at least, so i will use Octave occasionally if needed.