# Math Software

### Help Support The Rocketry Forum:

#### sailmike

##### Well-Known Member
Sorry for the off-topic post, but I figured that there are a number of engineers here, so I thought it'd be a good place to ask this question. I am an engineering major currently taking advanced calculus. I've been looking at some math software like Maple 12, Mathematica, and MathCad. Does anybody here have any experience with any of these programs? Are they worth it?

Thanks,
Mike

#### new2hpr

##### Well-Known Member
Do a search for an open source clone of those packages. There are several out there that perform really well. Names escape me right now, though, but the price can't be beat. Then again, student discounts are probably good on those.

Study hard, the engineering market sucks right now, so you need to be the best!

Ken

#### cjl

##### Well-Known Member
Mathematica is pretty good, and I personally prefer Matlab (with the symbolic math toolbox), but these are extremely expensive if you aren't able to obtain an academic license or something similar.

That having been said, if you are a student, the student discounts are excellent (I believe Matlab R2008B with a bunch of toolboxes, including symbolic math, is something like $100 for the student edition, rather than thousands). It could be well worth it to get the student edition of one of those (I personally find Maple, Matlab, and Mathematica far more useful than MathCAD), but it does depend on both what you are using them for and how much you would actually be able to use them. I'm using matlab 3 or 4 times a week minimum for my labs (I'm an Aerospace engineering student at the University of Colorado). I'm not sure it would be as useful just as a side program, depending on how dedicated you are to learning it and using it. #### Adrian A ##### Sponsor TRF Sponsor TRF Lifetime Supporter My advice for any engineering student is to learn Matlab inside and out. Become one with it, and your analysis capabilities will be ahead of 90% of the space industry workforce (assuming your problem-solving skills and engineering knowledge are good too) In the space industry, Excel is probably used for 80+% of the engineering calculations, because it's quick and easy for simple calculations, and it's good at acting like a pseudo-database to provide tables to review. Even text-based requirements documents are frequently imported into Excel to because it's good at formatting tables and everyone has it. And until recently, you could use Visual Basic to extend the capabilities to solve larger or more complicated analysis problems. Unfortunately, the company where I work is "upgrading" from Excel 2003 to Excel 2007, and my analysis tools that I have developed over years run literally 100x slower than they did with Excel 2003, rendering them useless. Fortunately, I also work with Matlab, so I'll be porting the portions of my tools that aren't already in Matlab to be Matlab tools too. For the other tools that you mentioned, the last time I have seen them used was when I was in grad school. #### Peartree ##### Cyborg Rocketeer Staff member Administrator Global Mod Honestly, it depends on where you intend to work and what kind of work you will be doing. As an electrical engineer I never had occasion to use any of those programs and there *might* have been one or two guys in the building who had one of them but that was when I worked in R&D (possibly my most favorite job ever). In Aeronautical engineering things might be different, but again it will depend a lot on what kind of stuff your employer assigns to you. Wiring diagrams are a lot easier to do in AutoCAD... #### stone ##### Member GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language. http://www.gnu.org/software/octave/ #### maxpower ##### Well-Known Member Maxima and scilab. Both open source! #### sailmike ##### Well-Known Member Thanks for all your replies. I took a look at the features of Matlab and the student version is$100 and almost identical to the regular version. I think I may get this program. I probably should check to see if it's already on some of the campus computers.

I haven't checked out the open source software yet.

Besides engineering applications, did you find it useful for visualizing calculus problems like graphs of multivariable equations?

Thanks,
Mike

#### sailmike

##### Well-Known Member
Maxima and scilab. Both open source!
I took a look at these open source software's. How intuitive are they?

How intuitive is Matlab? I hope the university has it on their system so I can try out there first before buying it.

Thanks,
Mike

#### rocketguy101

##### Well-Known Member
has anybody tried sagemath http://www.sagemath.org/ ? I saw it mentioned in Machine Design magazine onetime, but never messed with it.

I use Matlab at work, and d/l scilab to play with at home. They aren't intuitive, but learning one helps you with the other. I was trying to plot some strain gage data once, and was able to play at home w/ scilab and take what I learned to work and apply it in Matlab. My main use of Matlab is analyzing test data.

To me, Mathcad is a graphical calculator--in fact when it first came out and we ran it in DOS, it was very quick and I got to where I used it instead of a calculator because I could save my work and reuse it later. After about ver 7, they tried to cram so many features into it, it became bloated and is slow to startup and run. I still use it, especially with my legacy stuff, but excel does alot of what I need.

I like Maple when trying to solve symbolic math -- solving for variables, roots, etc. Once I get my equations, I put them in excel or mathcad. I know there are symbolic solvers in mathcad and matlab now, but I tend to go with what I know

#### m85476585

##### Well-Known Member
I don't like Matlab. It is incredibly bloated and inefficient. It takes almost a minute (I just clocked it at 55 seconds) to start up on my Macbook Pro. Once it's open, it sits there using 150mb of RAM, and if I start using it, it will quickly climb to 200-300mb. For my DSP class, we have a function that analyzes the frequency components of sounds. I tried running it on a full-length (3 minute 44100hz) song. When I loaded the song, the memory use went up to 300mb, however the data is only about 80mb it Matlab format. When I ran the function, the memory use shot up to 2gb, then it stopped with a memory error. I guess it is a 32 bit application, which is limited to 2gb of address space. (There is a 64-bit beta for OS X, but it is not available to people with the student license.) I ran it on a shorter segment of the song, and it used 1.6gb to analyze about a minute of it. Maybe it's just how the function was written, but there's no reason it should be using that much memory. It should be analyzing just 4 milliseconds at a time, or 8 if you count the overlap. When they introduced Matlab, they told us that loops are "highly inefficient" and that it is always better to use vectors. I don't know what could make loops so inefficient, especially since vector operations are eventually converted into loops when they are executed on the CPU. I haven't done any tests to see how much slower loops are, though.

Ignoring all the inefficiencies in Matlab, it is still not a great programing language in my opinion. They do a lot of things differently from most other languages, like starting indexes at 1 instead of 0 (that's all I can think of off the top of my head, besides obvious syntax differences).

I haven't used any of the other math software mentioned here, though, so I can't make any comparisons.

#### hartlch

##### Well-Known Member
If you are interested in playing around with mathematics, then I would say that Maple or Mathematica are what you want. MathCad is nice for writing explanations of some analysis process where you want to intersperse text and equations like in a textbook. It is great for doing homework problems where you need to show all the steps to arrive at the answer. Matlab is good for doing more complex problems than MathCad can handle. It's good for quickly developing algorithms, but there is more of a learning curve to using it effectively - otherwise you can end up using all your memory to analyze a few milliseconds of data.

If you are an undergrad, then any of the packages will be able to handle the calculus you are doing. As a generalization, I would characterize Maple and Mathematica as being geared more toward mathematicians, and the other two more for engineers. Since you are a student, I would suggest getting the one with the best academic discount.

#### m85476585

##### Well-Known Member
...but there is more of a learning curve to using it effectively - otherwise you can end up using all your memory to analyze a few milliseconds of data..
For the record, that function was provided to us, and they only gave us P-code (precompiled code, kind of like java bytecode), so I was not able to view the source and see what was causing the problem or try to optimize it. I could try to rewrite it, but that's too much work!

#### cjl

##### Well-Known Member
Matlab shouldn't take 50 seconds to start -on my computer it takes around 3 or 4 seconds. As for the loops vs vectors, they are right - vectors run immensely faster in Matlab than loops do.

#### andytherocketeer

##### Well-Known Member
In the space industry, Excel is probably used for 80+% of the engineering calculations, because it's quick and easy for simple calculations
100% true (unfortunately).
Sure it's fine for simple things, but then people start trying to use excel to extract data from text logs with all kinds of crazy formulae, and then hitting the 65k lines limit and then finding that you can only use 32k of those lines in a plot. While I sit there and craft a quick grep/sed/awk command quicker than they can open excel

We've had licences for pretty much all the main engineering packages, but tbh, all of those that were purchased for general use have never really been used. They only really make sense when a system is designed from the outset to use a specific package.

On a previous project, we had to sample about 8 different packages, before we could make a decision, and were treated to a free demo day at the main UK distributor (which fortunately handled about 5 of them). It really can be a case of "I need to do this... what package can do this best?", rather than "I have this package, now how do I get it to do what I want?".

#### sailmike

##### Well-Known Member
I've been told that my university has Matlab and I'm likely to be using that eventually. I think I'll likely be purchasing a student edition for use at home. Can anyone recommend a book to help with learning how to use it?

Thanks,
Mike