Есть ли у кого-нибудь опыт создания общей библиотеки в MATLAB?

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

  •  08-06-2019
  •  | 
  •  

Вопрос

Исследователь создал небольшую симуляцию в MATLAB, и мы хотим сделать ее доступной для других.Мой план — взять симуляцию, кое-что почистить и превратить в набор функций.Затем я планирую скомпилировать его в библиотеку C и использовать SWIG для создания оболочки Python.В этот момент я смогу вызвать симуляцию из небольшого приложения Django.По крайней мере, я на это надеюсь.

Есть ли у меня правильный план?Кто-нибудь еще сделал что-то подобное?Можете ли вы сообщить мне, есть ли какие-либо серьезные подводные камни, о которых я на данный момент не знаю?

Это было полезно?

Решение

Я не буду сильно помогать, но я помню, что мне удалось обернуть симуляцию MATLAB в DLL, а затем вызвать ее из приложения Delphi.Это сработало очень хорошо.

Другие советы

Следует помнить, что компилятор Matlab на самом деле не компилирует код Matlab в собственные машинные инструкции.Он просто оборачивает его в автономный исполняемый файл или библиотеку с собственным механизмом выполнения, который его запускает.Вы сможете запускать свой код без установки Matlab и сможете взаимодействовать с другими языками, но он все равно будет интерпретироваться кодом Matlab, поэтому ускорения не будет.

Я бы также сначала попробовал ctypes.

  1. Используйте компилятор Matlab для компиляции кода в C.
  2. Скомпилируйте код C в DLL.
  3. Используйте ctypes для загрузки и вызова кода из этой DLL.

Самый сложный шаг, вероятно, 1, но если вы уже знаете Matlab и использовали компилятор Matlab, у вас не должно возникнуть с ним серьезных проблем.

Возможно, попробуй cтипы вместо СВИГ.Если он был включен в состав Python 2.5, значит, это хорошо :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top