2008-11-28 14 views
5

Ich finde viel Einsatz für Matlab, aber mein jetziger Arbeitgeber hat keine Matlab Lizenz: es gibt eine für Comsol, die mit comsol Script kommt. Comsol Script ist auf den ersten Blick identisch mit Matlab, aber nach einer Weile finden Sie unheimliche Unterschiede. Viele Funktionen von Grafikgrafiken sind nicht vorhanden, und Sie können keine Zahlen in ein Vektorgrafikformat exportieren. Schlimmer ist aber, dass die Performance für schwere Berechnungen viel schlechter ist, es gibt viele Abstürze bei trivialen Algorithmen.Unterschiede zwischen Matlab und Comsol-Skript?

(Natürlich ist der Zweck des COMSOL-Pakets ganz anders, aber ich bin nur Interesse daran wie Matlab, da wir keine Matlab-Lizenz besitzen.)

Gibt es Unterschiede in die Matlab- und Comsol-Skriptkerne?

Behandeln sie die Speicher- und Matrixberechnung unterschiedlich?

Antwort

2

Behandeln sie die Speicher- und Matrixberechnung unterschiedlich?

Fast sicher, ja (auf einer Implementierungsebene). Ich habe noch nie von Comsol gehört, aber es ist nicht überraschend, dass es langsamer ist. Mathworks hat in den letzten Jahren viel Wert auf Leistungsoptimierungen gelegt. Die Verwendung eines JITs hat viel Overhead des Interpreters beseitigt. Sie tun auch Cache freundliche Tricks wie

mybigresult = big1 .* big2 + big1 .* big3 

als (C-Stil Pseudo-Code) Ausführung

for (size_t i=0; i<numelement; i++) { 
    mybigresult[i] = big1[i] * big2[i] + big1[i] * big3[i]; 
} 

anstelle von Provisorien und Scannen Speicher mehrmals zu schaffen. Schließlich haben sie in den neuesten Versionen Multithreading-Unterstützung für große Bereiche ihres Backends hinzugefügt. (Anmerkung: semantisch ist Matlab immer noch single threaded).

Einige freie Matlab-Alternativen: Oktave (zielt darauf ab, ein Open-Source-Äquivalent zu sein), Python + Numpy (sehr unterschiedliche Sprache, aber mit ähnlichen Grundfunktionen).

Wenn Matlab Sie viel produktiver macht, möchten Sie vielleicht versuchen, Ihren Arbeitgeber für eine Lizenz zu bezahlen ... ($ 50k/Jahr Gehalt * 10% Produktivität Verbesserung) = $ 5k Wert der zusätzlichen Arbeit, wenn getan Matlab ist gekauft (nur Zahlen hier).

+1

Comsol wuchs aus einem Modul von Matlab 6, alle Bibliotheken, Hilfedokumentation usw. ist identisch. Im Gegensatz zu Matlab-Clones kann nahezu jeder Matlab-Code unter dem Kommando von comsol ohne jegliche Modifikation ausgeführt werden. Deshalb ist die Frage relevant. – Fredriku73

Verwandte Themen