Domanda

Un ricercatore ha creato una piccola simulazione in MATLAB e vogliamo renderla accessibile ad altri.Il mio piano è prendere la simulazione, ripulire alcune cose e trasformarla in un insieme di funzioni.Quindi ho intenzione di compilarlo in una libreria C e utilizzare SWIG per creare un wrapper Python.A quel punto dovrei riuscire a richiamare la simulazione da una piccola app Django.Almeno lo spero.

Ho il piano giusto?Qualcun altro ha fatto qualcosa di simile?Potete farmi sapere se ci sono insidie ​​gravi di cui non sono a conoscenza al momento?

È stato utile?

Soluzione

Non sarò di grande aiuto ma ricordo che sono riuscito a racchiudere una simulazione MATLAB in DLL e quindi richiamarla da un'app Delphi.Ha funzionato davvero bene.

Altri suggerimenti

Una cosa da ricordare è che il compilatore Matlab in realtà non compila il codice Matlab in istruzioni macchina native.Lo avvolge semplicemente in un eseguibile autonomo o in una libreria con il proprio motore di runtime che lo esegue.Saresti in grado di eseguire il tuo codice senza Matlab installato e saresti in grado di interfacciarlo con altri linguaggi, ma verrà comunque interpretato il codice Matlab, quindi non ci sarebbe alcuna accelerazione.

Prima proverei anche ctypes.

  1. Utilizzare il compilatore Matlab per compilare il codice in C.
  2. Compilare il codice C in una DLL.
  3. Utilizzare i ctype per caricare e chiamare il codice da questa DLL

Il passaggio più difficile è probabilmente il 1, ma se conosci già Matlab e hai utilizzato il compilatore Matlab, non dovresti avere seri problemi con esso.

Forse provarci ctypes invece di SWIG.Se è stato incluso come parte di Python 2.5, allora deve essere buono :-)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top