Euler Math Toolbox and Matlab

Recently, this site got more traffic than usual. So I thought I welcome all of you in the new year (which is already three weeks old now). And I provide some new content for you to read. For me, the selected topic is important. I welcome very much any discussion about it. I am currently writing a requested paper for an on-line journal about Euler Math Toolbox, so I could benefit from your input.

What is the difference between Euler Math Toolbox and Matlab? Or rather, what is the intended difference? And are there alternatives to both?

First of all the following points are obvious to me.

  • Matlab is profiling itself in the professional market. It is called the „industry standard“, and it is advertised as a must-know to students. Matlab tries very much to serve the needs of the industry. The best example is its simulation toolbox which connects Matlab to hardware. Matlab is backed up by a group of commercial programmers.
  • Euler Math Toolbox is for education and research. It is not intended to be used as a professional tool in industry. EMT is backed up by open software.
  • Both systems fall short for specialized applications. Most professional or research software is compiled in a general programming language and does things that a one-for-all software cannot do.
  • We need to educate our students in general programming, not in software systems, especially not in commercial systems. With a good background in programming any software can be adapted easily.
  • That said, a tool like Euler Math Toolbox or Matlab can be useful for quick computations or to mathematical demos. And for this, both systems are equally well equipped with an advantage for EMT.
  • We should have free and open, reliable numerical libraries for our main computer languages.

If you are interested in the primary differences between EMT and Matlab, here is a list.

  • EMT is open and free, Matlab is commercial with a considerable pricing.
  • The user interface of EMT is notebook oriented similar to Maple or Mathematica, Matlab is command oriented. Both have scripts, of course, and are similar in this respect.
  • Both systems can do symbolic computations, EMT with the free Maxima, Matlab with an additional package you need to buy.
  • EMT can use many open external programs like Povray, Python, C, Scilab, Latex. For Matlab, you can buy powerful external packages to do industry strength computations.
  • Matlab has an optional compiler. In EMT, you need to write C or Python for more speed.
  • Matlab is used all around the world, and you will easily find someone with the same problem as you have. EMT has a community, but it is way smaller.

There might be more differences that I forgot to mention. But all in all it is clear to me that EMT deserves to be used in education much more than it is right now. Matlab, on the other hand, should be removed from general education. It should be reserved for specialized courses done by engineers who have used the program for their work.

Alternatives? There are many.

  • R is a statistical package featuring a matrix language as well. It is free and has a big community. The programming in R is not as easy to learn as they claim, but to get statistics done it is not necessary. The interface is ugly and cumbersome to use.
  • Maple, Mathematica or other algebra software are commercial packages in the higher price range. They offer more advanced features than Maxima and often yield better results. But they are not designed to be used as numerical software.
  • Geogebra tries to be the knife for all purposes. It is a beautiful software for schools and has a large community. Clearly, it falls short in the area of numerical and other programming. Actually, it is a whole different category of software.
  • Python is probably the best alternative to big software packages. There are very nice packages for plotting and for numerical computations. The symbolic package falls short in comparison, however. The Sage project relies completely on Python and has a web interface which clearly is the proper way in the future.
  • General programming langes are the way to do software education in universities for engineers and math students. Most courses have an obligatory course in Java, and rightly so.

Open for discussion.

2 Gedanken zu „Euler Math Toolbox and Matlab

  1. Radovan Omorjan

    I agree with Rene that EMT deserves to be used in education much more than it is right now. I am using EMT for many years in teaching and research. I just can say that there is no general well known engineering textbook I’ve ever seen that uses some numerical software for problem solving where EMT could not be used instead. I just think that the EMT could be one of the „main stream“ educational software, and why it has not become one – I really do not know.

    Antworten
  2. Richard Hollands

    I have some experience with R and Scilab and quite a lot with Python. I have recently refreshed my experience with these other systems as you have raised the question. I find, after all, that I keep coming back to EMT because of the interface. Many things are so much easier to do; plotting for example and the way the images can be simply integrated into the notebook. The notebook format means I can keep track easily of the thought processes that went into solving a problem (and see revisions if I keep them as comments). If I want a PDF copy then I can just generate one; in R I have to write another file and run Sweave for example.

    I also find the matrix language cleaner and more flexible but that may just be me.

    I have also used the recommended installation of Anaconda Python and extended it with the pyephem astronomy package and used the Python interface to sqlite3 for fast access to large amounts of data. EMT provides an easy to manage front end to all these features.

    Just my 2c as they say.

    Richard

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.