Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Mathcad v Mathematica v Matlab v TkSolver v ...... 5

Status
Not open for further replies.

EnglishMuffin

Mechanical
May 21, 2003
1,103
0
0
US
I wouldn't be surprised if this question has been asked before, in which case my apologies. What are the merits of the various programs out there for solving engineering math problems ? If you could only get one or two, which would they be ? (I realise that the replies will probably begin with "it depends what you want to do ...")!
 
Replies continue below

Recommended for you

so, what do you want to do with them?

Matlab, Mathcad and TK are probably more everyday user oriented, albeit for different audiences.

Mathematica, Maple are primarily geared for complex calculus problems, although they obviously can do the simpler things.

Matlab's forte is matrix manipulation. Coupled with Simulink, it's probably the program of choice for simulating things like control loops, etc. But' it's basically a programming environment when you get down to it.

Mathcad's forte is a nice graphical GUI. You can directly type in equations and whatnot and get solutions.



TTFN
 
Thanks for the reply

I don't have a specific application - I am just looking for something that could solve a wide variety of math problems that might come up in a consulting situation, but is not massively expensive. I think equation solution is the most common problem. How does Mathcad compare to TK solver in that respect ? Do you have to do a certain amount of programming, or will it simply solve any equation or system of equations that you type in, and allow graphing the results, like TK Solver ? I have been to the Mathcad web site, but it wasn't immediately obvious (to me) how it worked. I would guess that it's considerably more powerful than TK Solver. But I would assume if you wanted to find the FFT of a set of data, you would be better off with Matlab - although maybe you could fairly easily program it from scratch if you had to? Are there any other "Biggie" programs out there that you haven't mentioned?
 
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
 
Thanks - that's worth a star to me.

Lingua franca huh? I looked that up and it said "The mixed language used between Europeans and orientals in the Levant". Everything seems to involve the middle east these days ......

Amazing what you learn on this site!
 
EnglishMuffin,
The TKsolver claims being specifically oriented to solve equations, so may be their solver is smarter and more advance than of Mathcad (especially when you need to solve a system of non-linear equations). The lerning curve with TKsolver is steeper, the unit conversion is tricky (for first time users), but productivity can be highly increased by using Excel add-in. In my experience Mathcad big disadvantage is top-to-down structure, rolling screen back and force is very time consuming, and as a result productivity is low. One of TKsolver technical guys used to participate in this forum, but a few of his replys has been flagged out for commercialism. Anyway TKsolver is a great product, I wish I had more time to play with it...
 
I used Mathmatica in graduate school and got pretty good at it, never got to like it, but I could usually trick it into a solution. Since then (about 12 years) I've used TKSolver, Matlab, and finally MathCad. The only one of the four I continued to use and pay for upgrades is MathCad. I find MathCad to be able to do everything a practicing mechanical engineer in Oil & Gas needs a math program for with ease. I've got the same complaint that Yakpol has with MathCad - in a multi-page sheet it is a pain to scroll back and forth. You can also really mess yourself up by renaming system variables (I once defined "R" to be universal gas constant and then tried to do some arithmetic that required Rankine in the units, took a week to run that one to ground).

The data access ODBC routines in version 2001i and 11 are the best that Mathsoft ever put out.

The problems I had with TK and MatLab were too long ago to be germane to this discussion - I'm sure those problems have long since been replaced with a new suite of problems.

David
 
Starting in 1996 I took an MSEE program where Matlab was the EE dept official program and was required in almost every course. Maple was required in 1 math course.

Matlab is better if your main thing is number crunching using matrices. It has a very compact and intuitive matrix notation.

Maple is better for almost everything else and I use it today for almost everything mathematical that I do. The symbolic features are unmatched and seemlessly integrated. (Matlab -at least that old version - treated symbolic vairables differently than others which made it tough). So any problem you want to solve you just type in the equations in terms of variables. First attempt to solve a complex problem will be an analytical solution. Work it through using a number of available techniques that all match how you would attempt to solve by hand (laplace, etc). If it works you have an analytical solution which is 10x as powerful as numeric solution to one simple case and gives much more insight. If that fails to solve analytically then give up and do it numerically.... now you are doing the same thing as in Matlab. But in Matlab you would have wasted your time on trying analytical solution because you will have to reformat it to do numerical solution. It is so easy that I don't ever right equations on paper anymore... just type them direct into the computer. Another great thing is the workbook format. Matlab copied it later but it was like IBM copying Mac.. never quite got it right. It is really difficult to describe the wide range of stuff that it can do but I think you sense by now I am sold on it.

Two notes:
#1 - My comments based on the 96 version of both programs.
#2 - It seems to me that when I first learned Maple I didn't like it. Steep learning curve. It was definitely worth the trouble.
 
elctricpete : thanks - I had never heard of Maple (along with a lot of other things!). How does it compare with Mathcad, which most other people seem to like ?
 
Maple is in a similar class with Mathematica:


so the user interface is essentially a programming environment similar to Mathematica and Matlab, except that the equation viewer is integrated into the user interface when doing the actual solution work. Maple's forte is symbolic math, like Mathematica.

Mathcad's symbolic engine is an older, stripped down version of the Maple engine.

TTFN
 
I have never used Mathcad or mathematica... sorry can't compare.

You are correct about the units. I never found it to be a problem. I can incorporate units into my calculations in a very natural fashion which resembles the unit analysis that I would apply if doing it on paper. There is a little extra effort only in looking up the conversions from some other source but the program does the bookkeeping in a very straightfoward an easily-understood manner.
L:=5*ft;
L := 5 ft

> L:=L*(12*inch/ft);

L := 60 inch
 
If you're still looking, the july, 2003 issue of Desktop Engineering has an article on math software.

They list about 17 different products, although a few, I wouldn't consider to be math programs, per se.

Anyway, it's got a nice feature comparison chart along with the list prices

TTFN
 
While we're at it there are two open source products available for Windows (and Linux and...), ie they are free.

They are both rather Matlab like.

The first is Scilab. It is not command for command identical with Matlab but the language and concepts are similar. Some of the demos are amazing. I have not used it in anger so have no real idea of its stability etc.

The second is GNU Octave. This is more or less compatible with matlab.

As for me, my work pays for a proper Matlab installation, and I have an old old version of MathCad that was bought for me to shut me up (it is very hard to get non-standard software approved around here). I've used MathCad since v1 in around 1988 and I'm not about to stop now.



Cheers

Greg Locock
 
I have used mathcad in both academic & engrg environments - & am a great fan of the program. Originally the program was designed for the "mathematician" & not the Engr.

The strength of the program is the real-time solution to your equations. if u omit to provide a value to a variable - it will immediately tell you. U can alternately write & solve equations; add comments; add images; and have the entire combination printed on a report-looking (pre-designed template) page.

Although it is not a "programming - type" of program - u can define functions & have some limited programming.

I was able to design a structural-truss Finite element program that was able to solve upto 10 elements.

I can easily come up with several improvements that I would like to see ... never-the-less it is the best interactive math program that i know .. for basic formula / number crunching Engineering applications.
 
And MathCad has a programming add-on as well as other add-ons such as VisSim which matches Matlab's Simulink.

I've used Matlab and MathCad and prefer MathCad's interface. I can solve my problems in each, but of course the workflow is different and requires a little brain descrambling if I have to switch back and forth. I pretty much dumped Matlab and went with MathCad.

TKSolver was always hard for me to get to work correctly to the point that I trusted the results. I typically used it to design kinematic linkages and as an iterative solver. I like it because it is the easiest program to "work backwards."
In other words, you can input the final result and it can run the equations to tell you what you need to input in order to get it. Most programs require the inputs and only give the final result unless you completely redo the equations to solve in reverse. TKSolver uses the same equations -- no reprogramming or equation manipulation!

--Scott

For some pleasure reading, the Round Table recommends FAQ731-376
 
I use TK as a quick prototyping programming language. It's easy to change, easy to plot the results and all iteractive. I seldom use its solving capability. There is a bit of a learning curve but I can implement and test most math models very quickly. Cut and past plots into powerpoint and I've got easy documentation of my project.
 
Status
Not open for further replies.
Back
Top