Hat jemand Erfahrung erstellen einer gemeinsam genutzten Bibliothek in MATLAB?

StackOverflow https://stackoverflow.com/questions/5136

  •  08-06-2019
  •  | 
  •  

Frage

Ein Forscher hat noch eine kleine simulation in MATLAB und wir wollen es anderen zugänglich.Mein plan ist es, die simulation, Aufräumen, ein paar Dinge und verwandeln Sie es in ein set von Funktionen.Dann habe ich plan zu kompilieren es in eine C-Bibliothek und verwenden SWIG, um erstellen Sie einen Python-wrapper.An diesem Punkt sollte ich in der Lage zu rufen Sie die simulation aus einem kleinen Django-app.Zumindest hoffe ich das.

Habe ich die richtigen plan?Hat jemand etwas ähnliches gemacht?Können Sie lassen Sie mich wissen, ob es irgendwelche gravierende Fallstricke, die ich nicht kenne im moment?

War es hilfreich?

Lösung

Ich werde nicht viel helfen, aber ich erinnere mich, dass ich in der Lage, wickeln Sie ein MATLAB-simulation in DLL und rufen Sie es von einer Delphi app.Es funktionierte wirklich gut.

Andere Tipps

Eine Sache zu erinnern ist, dass Sie den Matlab-compiler nicht wirklich kompilieren von Matlab-code in native machine instructions.Es ist einfach wickelt es in eine eigenständige ausführbare Datei oder eine Bibliothek mit Ihren eigenen runtime-engine, dass es läuft.Sie wäre in der Lage zu führen Sie Ihren code ohne Matlab installiert, und Sie wäre in der Lage um eine Schnittstelle mit anderen Sprachen, aber es wird immer noch interpretiert Matlab-code, so würde es keine Beschleunigung.

Ich würde auch versuchen, ctypes erste.

  1. Verwenden Sie das Matlab compiler zum kompilieren von code in C.
  2. Kompilieren von C-code in einer DLL.
  3. Verwenden ctypes zu laden und aufrufen von code aus dieser DLL

Der schwierigste Schritt ist wahrscheinlich 1, aber wenn Sie bereits wissen, Matlab und verwendet haben, in den Matlab-compiler, sollten Sie keine ernsthaften Probleme mit es.

Vielleicht versuchen Sie ctypes statt SCHLUCK.Wenn es ein Teil von Python 2.5, dann muss es gut sein :-)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top