Best Math Plotting Software for Electrical Engineering

1.4k Views Asked by At

I am an electrical engineering undergrad. I would like to learn a math plotting software which would be helpful in visualizing topics in advanced calculus (my immediate need). It would also be helpful if the math plotting software was of some use in electrical engineering, but this is not mandatory. The selection criteria is listed here in decreasing weight:

  1. Ease of Use (syntax and techniques that are intuitive and easy to adapt to other problem areas)
  2. Healthy ecosystem (lots of tutorials, examples online, books and other resources
  3. Industry use (looking for the most commonly used software suites within engineering and science)
  4. Adaptability (commonly used outside mathematics. ie. electrical engineering, modeling).

I have narrowed my search down to:

  1. Matlab
  2. Mathematica
  3. Maple

But this list is by no means exclusive. Currently I am leaning towards Matlab, because I have seen it being used in upper year courses in my electrical engineering program.

I would appreciate your input with regard to which software suite would be best and why. Thank you.

8

There are 8 best solutions below

1
On BEST ANSWER

MATLAB's plotting tools are perfectly sufficient if used properly, although there is a learning curve. EE and controls/modeling folks use MATLAB heavily in industry. Plotting/visualization is of secondary importance. MATLAB is worth learning for its computational aspects and widespread use in EE fields. This is probably why you see it used in upper-division courses.

2
On

Having used Matlab and Maple, I can say that the learning curves for each are of the same order. Matlab is more of the industry standard, though. simulink, alone, makes Matlab the better choice if you find yourself wanting to model circuits.

0
On

Mathematica is another nice option.

Now you can try the cloud version for free in in www.wolframcloud.com. You can learn a lot about it in SE community mathematica.stackexchange.com.

Here is a cool brand new introduction into the language.

@Szabolcs plot example: enter image description here

3
On

Matlab is the better choice. Not only is it the industry standard for electrical engineering, you simply cannot use mathematica nor maple for serious computational work. They are just too slow and inefficient. The only time I see people using mathematica (I've never met anybody in industry who uses maple though they might exist) is to find analytic solutions to a messy system of equations or to simplify an ugly integral.

Matlab is also extremely easy to use and well documented. Its display capabilities will be more than sufficient for your needs as well. It's easy to combine it with c/c++, fortran, and/or java, the first two being extremely helpful if you need extra performance for a specific function. Matlab even offers pretty seamless integration with GPUs, which make it that much more powerful for scientific computing. You just can't beat the combination of rapid prototyping, ease of use, and computational performance that matlab offers.

2
On

If you're in other branches of engineering I would tell you to weigh the options but since you're EE, Matlab is a no-brainer given how prevalent it is in that field, both in academia and industry. However, I also find Mathematica notebook environment very conducive for interactive programming and creating readable documents with text and code together (I do most of my college homework on Mathematica). Moreover, the Manipulate function in Mathematica makes it very easy for me to build interactive plots to gain intuition on difficult engineering concepts. Hence, I find Mathematica very beneficial to my engineering education.

4
On

For daily Maths jobs, I recommend Maple $18$, however; Matlab rules parts of Maths powerfully. Using Maple at the class is easy (at least for me). For example, when I want to describe some implicit functions at the class, I may do as follows:

 [> with(plots):
 [> implicitplot3d((x^2+y^2)*(x^2+z^2)*(y^2+z^2) = 1, x = -4 .. 4, y = -4 .. 4, z = -4 .. 4, color = "SkyBlue", axes = boxed);

enter image description here

or

 [> implicitplot3d((x^2+(9/4)*y^2+z^2-1)^3-x^2*z^3-(9/80)*y^2*z^3 = 0, x = -1.5 .. 1.5, y = -1.5 .. 1.5, z = -1.5 .. 1.5, color = red, axes = boxed);

enter image description here

1
On

I use python with matplotlib library, it's an incredible tool to plotting 2D and 3D functions

1
On

I use Mathematica quite a bit. It's very well designed, and enormously flexible and powerful. It has very good symbolic capabilities, which are very useful to me. It's probably far more than you need. It's certainly far more than I need.

Matlab is by far the most commonly used package in engineering studies and in industry. In these areas, Mathematica is used somewhat and Maple hardly at all. The Matlab focus is numerical computation, rather than symbolic math.

Symbolic capabilities are useful in calculus (differentiation and integration), but real engineering problems typically require numerical methods.

For you, I'd recommend Matlab.