Are cineva experiența de a crea o bibliotecă partajată în MATLAB?

Un cercetător a creat o simulare mică în MATLAB și vrem să îl facem accesibil altora. Planul meu este să iau simularea, să curăț câteva lucruri și să o transform într-un set de funcții. Apoi am de gând să-l compilez într-o bibliotecă C și să folosesc SWIG pentru a crea un pachet Python. În acel moment aș putea să sun simularea dintr-o mică aplicație Django. Cel puțin sper că da.

Am planul potrivit? A făcut altcineva ceva similar? Puteți să-mi spuneți dacă există capcane serioase pe care nu le cunosc acum?

0
fr hi bn

4 răspunsuri

Nu voi ajuta prea mult, dar îmi amintesc că am reușit să înfășoară o simulare MATLAB în DLL și apoi să o sun dintr-o aplicație Delphi. A funcționat foarte bine.

0
adăugat

Un lucru de reținut este că compilatorul Matlab nu compilează de fapt codul Matlab în instrucțiunile mașinii native. Pur și simplu o înfășoară într-un executabil independent sau într-o bibliotecă cu propriul motor de executare care o execută. Veți putea să vă difuzați codul fără a instala Matlab și veți putea să-l interfațați cu alte limbi, dar va fi în continuare interpretat codul Matlab, astfel încât nu va exista nici o accelerare.

0
adăugat

Aș încerca, de asemenea, mai întâi ctypes.

  1. Folosiți compilatorul Matlab pentru a compila codul în C.
  2. Compilați codul C într-un DLL.
  3. Utilizați ctypes pentru a încărca și a apela codul din acest DLL

Cel mai greu pas este probabil 1, dar dacă deja cunoașteți Matlab și ați folosit compilatorul Matlab, nu trebuie să aveți probleme serioase cu acesta.

0
adăugat

Poate încercați ctypes în loc de SWIG. Dacă a fost inclusă ca parte a Python 2.5, atunci trebuie să fie bună :-)

0
adăugat
Python România
Python România
100 participanți

Comunitatea pasionaților de Python din România.