
If what you want at the end is an equation, well then I still don't use the symbolic toolbox, I use Mathematica. If your final answer is a number- don't touch the symbolic toolbox. The part that originally used symbolic math (which was responsible for all but ~8 seconds of the original runtime of >1 hour) was reduced to about 0.06 seconds, meaning that the actual operation that required symbolic math before got a speedup of >50,000x.

But that is beside the point).Įdit: I should mention that the "8 seconds" i quoted was for the entire code to run. It involved an eigensystem decomposition where the eigenvalues were a variable in the matrix being decomposed, and it took me the better part of a week and a fair amount of swearing directed at Mathematica to get an analytic solution. (In past me's defense, the part implemented using symbolic variables and solve was rather tricky.

Its not just a trivial speed increase, it is literally the difference between something taking a day and something taking a couple of minutes. That is why you should avoid using the symbolic toolbox outside of a few select situations. That puts the overall increase in speed at around a factor of ~ 500x. Now, what used to take over an hour to run using symbolic math takes about 8 seconds to run with a purely numeric approach. Now this code was slow, and I needed it to be not so slow, so I went about updating the code to not use symbolic math any more.

And, being the Matlab newbie that I was at the time, I had implemented part of this code using symbolic variables and the solve function. Recently, I found myself needing to do something in Matlab that I had implemented in Matlab 4-5 years ago, when I had only been using Matlab for a few months.

You often hear "dont use the symbolic toolbox" but rarely do you get a quantitative example of why.
