Ist MATLAB das beste Mathematikprogramm?
Die Frage ist naiv, denn sie übersieht einen entscheidenden Punkt: Wofür soll das Programmpaket benutzt werden. Und unter welchen weiteren Randbedingungen.
Die Antwort von H.C. Schoenekess ist gut. Aber ich will trotzdem noch weiter ausholen.
Matlab ist ein Number-Cruncher, d.h. es berechnet numerische Lösungen von Gleichungen oder von Gleichungssystemen. Dann gibt es noch eine schier endlose Menge von Toolboxen, die jede für sich auch nochmal richtiges Geld kosten - und die dann vorgefertigte Lösungen in bestimmten Problemfeldern bereitstellen, z.B. zum Design von Regelungen, von digitalen Filtern, von ökonomischen Modellen (MATLAB war ein Tool, mit dem die Finanzkrise von 2007/2008 herbeigeführt wurde). Man kann MATLAB mit in C kodierten Blöcken erweitern, wenn Matlab-Code zu langsam ist (MATLAB interpretiert Skripte zur Laufzeit, es ist also oft unerträglich langsam, wenn Probleme in womöglich noch verschachtelten Schleifen abgearbeitet werden müssen.
Jedem, der sich das einmal selbst ansehen möchte, kann ich nur wärmstens empfehlen, sich Octave zu besorgen, das weitgehend kompatibel zu Matlab ist (aber mit viel weniger Toolboxen und ohne Simulink natürlich).
Matlab wird oft von Ingenieuren benutzt, die ihre Systeme damit modellieren (das mache ich auch so :-) ). Man weiß da schon im vorhinein, dass es sowieso keine geschlossene Lösung zur Beschreibung des Systems gibt und begnügt sich dann z.B. mit der Simulation der Sprungantwort eines Systems, aus der man die Stabilität des Systems schon recht genau abschätzen kann. Außerdem kann man super schnell verschiedene Lösungen ausprobieren - und bei Bedarf dann immer näher an das endgültige Design anpassen. Man kann sich das so vorstellen, dass man erst mit Floating Point Zahlen rechnet, und später dann mit Integern - und irgendwann bindet man vielleicht sogar C-Code ein (oder VHDL, aber das kostet nochmal viel Geld), der z.B. mit 12 Bit breiten Zahlen mit Überlauf rechnet.
Außerdem kann man alle möglichen Parameter am System variieren, um zu verstehen, welche Größen empfindlich auf Veränderungen reagieren (das ist nicht immer offensichtlich). Für diese Aspekte eines ingenieursmäßigen Problems ist Labview von National Instruments überhaupt nicht geeignet. Labview hat aber absolute tolle Eigenschaften, wenn man ein User Interface bauen will - und damit dann eine Maschine steuern. Zur Entwicklung der Algorithmen, die auf dem Steuerrechner der Maschine laufen, ist aber Matlab/Octave sehr viel besser geeignet.
Programmpakete wie Mathematica oder Maple haben ein grundlegend anderes Design, das zuerst einmal versucht, exakte Lösungen zu berechnen - gerne auch mit symbolischen Variablen. Die Zielgruppe ist näher an der Mathematik als ein durchschnittlicher Ingenieur - ich bin da weniger kompetent. Ich habe es vor vielen Jahren ein wenig benutzt - aber für einen Praxis-orientierten Ingenieur war es nicht das richtig Tool. Ich weiß aber, dass man mit diesen Programmen schon Rechenfehler in alten Publikationen von Mathematikern gefunden hat, die ansonsten niemals aufgefallen wären. Es bleibt also bei dem Fazit, dass es auf die konkrete Aufgabe ankommt, um zu beurteilen, welches Programmpaket am besten geeignet ist.
PS: auch die Programmiersprache R ist sehr Mathematik affin. Bei statistischen Problemen (die ebenfalls äusserst komplex sein können) ist das ein guter Kandidat. Überhaupt gibt es für fast jede Nische eine passende (Spezial)-Lösung.