Mathcad can do FFT's as well. It's the program that I use the most. Perhaps, similarly to you, I do lots of small calculations with any number of equivalent units. Mathcad as a built-in set of units that can convert on the fly, which is extremely useful. Additionally, the live units allows me to do quick dimensional analysis of the result.
Mathcad, unfortunately, no longer has a viewer, but many of the files in their library are published in MathML, such as:
As you can see, Mathcad's forte is the graphically correct representation of the equations.
TKSolver, see the demo:
particularly the part on Roark's formulas.
is a rule based solving system, somewhat more like Excel with input user interfaces and interactive graphical examples
As to your specific question, you can see other examples from the Mathcad library:
Mathcad has a downsized version of Maple within the program, thus allowing for some amount of symbolic math. There are, as the second example here shows, capability for numerically solving differential equations. Mathcad also has both in-line programming as well as OCX scriptable components as well as the capability to interface with custom, user-programmed DLL's.
While Matlab/Simulink is quite expensive, relatively speaking, my choice would be Matlab and Mathcad. Matlab is the lingua franca for many professions, so it's simply a reasonably good thing to have.
Some other, more specialized programs, particularly for control systems are EASY5 and MATRIXX. They're specifically designed for modelling control systems, using blocks not unlike those in Simulink.
TTFN