ich habe keine Erfahrung mit der Mathematica/.NET Brücke, aber Ich habe die Mathematica/Java-Bridge benutzt, die aus der Dokumentation sehr ähnlich ist. Natürlich ist eine Frage, die ich nicht beantworten kann, wie gut die Implementierung der Schnittstelle in Bezug auf Stabilität und Leistung ist.
Konzeptionell habe ich die Java-Schnittstelle für den Aufruf zu Mathematica ziemlich gut gefunden. Sie verfügen über eine Reihe von Objekten und Methoden, mit denen Sie Mathematica-Sitzungen starten und Mathematica-Ausdrücke zur Auswertung an sie senden können. Sie können entweder Text senden (was in einfachen Fällen einfach ist, aber schwierig, wenn Sie etwas nicht-triviales wollen) oder strukturiertere Expr
Objekte, die die Syntaxbaumstruktur spiegeln. Mit diesen Ausdrücken können Sie praktisch alles machen: Integrale numerisch oder symbolisch auswerten, Ableitungen nehmen, ODEs lösen und so weiter.
Der eine Bereich, in dem es fällt, ist in der Fehlerbehandlung. Mathematica hat an sich keine Ausnahmen; Stattdessen erzeugt es "Nachrichten", wenn es Probleme gibt, und versucht weiterhin, den Ausdruck zu bewerten, an dem es arbeitet.Dies ist angesichts der recht ungewöhnlichen Semantik von Mathematica (wo es Ausdrücke mit wiederholten Regelumschreibungen bearbeitet) durchaus sinnvoll, aber die Standard-Methoden zur Kommunikation mit Mathematica erlauben es nicht, diese Nachrichten innerhalb von Java einfach zu überwachen (oder es scheint so) .NET), obwohl es möglich ist, eigene Methoden zu schreiben, die das besser machen.
Numerisch oder symbolisch? –
Um Ihre letzte Bearbeitung zu verdeutlichen, versuchen Sie, Mathematica- und/oder Matlab-Funktionen in C# zu verwenden, oder versuchen Sie, C# -Klassen von Mathematica oder Matlab aufzurufen? – las3rjock
Anwendung ist in C# geschrieben - ich muss Berechnungen von C# (externe Funktionen aufrufen) – mson