legacyiop.blogg.se

Matlab symbolic toolbox wont cancel terms
Matlab symbolic toolbox wont cancel terms










matlab symbolic toolbox wont cancel terms matlab symbolic toolbox wont cancel terms

Also, Ive found you can automatically fix most of these errors by wrapping ToMatlab in another function doing something like myToMatlab:=StringReplace,WhiteSpace->""],"old string"->"new string"] A few things dont quite get converted right (special symbols and subscripts immediately come to mind), but for the most part it does a pretty good job. Anything tricky enough that I dont want to do with pen and paper is usually complicated enough to warrent using mathematica rather than matlab.įYI: somewherea long the way I picked up a function for Mathematica called "ToMatlab" that takes some expression in mathematica and converts it to a format that Matlab will accept. 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.

Matlab symbolic toolbox wont cancel terms code#

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.












Matlab symbolic toolbox wont cancel terms