Er det noen som har erfaring med å lage et felles bibliotek i MATLAB?

stemmer
10

En forsker har skapt en liten simulering i MATLAB, og vi ønsker å gjøre det tilgjengelig for andre. Min plan er å ta simuleringen, rydde opp et par ting, og slå den inn i et sett med funksjoner. Så jeg har tenkt å kompilere den til en C-bibliotek og bruke SWIG å skape en Python wrapper. På dette punktet bør jeg være i stand til å ringe simuleringen fra en liten Django app. Minst jeg håper det.

Har jeg rett plan? Har noen andre gjort noe lignende? Kan du gi meg beskjed hvis det er noen alvorlige fallgruver som jeg ikke er klar over i øyeblikket?

Publisert på 07/08/2008 klokken 18:47
kilden bruker
På andre språk...                            


4 svar

stemmer
5

En ting å huske er at Matlab kompilatoren faktisk ikke kompilere Matlab-kode i vanlige maskininstruksjoner. Det brytes det bare inn i en frittstående kjørbar eller et bibliotek med egen runtime motor som driver det. Du ville være i stand til å kjøre kode uten Matlab installert, og du vil være i stand til å samhandle den med andre språk, men det vil fortsatt bli tolket Matlab-kode, slik at det skulle være noen hastighetsøkning.

Svarte 02/11/2009 kl. 03:43
kilden bruker

stemmer
3

Jeg vil ikke hjelpe mye, men jeg husker at jeg var i stand til å bryte en MATLAB simulering i DLL og deretter ringe det fra en Delphi app. Det fungerte veldig bra.

Svarte 07/08/2008 kl. 20:57
kilden bruker

stemmer
2

Jeg vil også prøve ctypes først.

  1. Bruk Matlab kompilator for å kompilere koden inn C.
  2. Kompilere C kode i et DLL.
  3. Bruk ctypes å laste og kalle inn koden fra denne DLL

Den vanskeligste trinnet er trolig en, men hvis du allerede vet Matlab og har brukt Matlab kompilatoren, bør du ikke ha alvorlige problemer med det.

Svarte 26/09/2008 kl. 09:55
kilden bruker

stemmer
1

Kanskje prøve ctypes stedet for SWIG. Hvis det har blitt inkludert som en del av Python 2.5, så det må være bra :-)

Svarte 19/08/2008 kl. 13:51
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more