2008-08-07 2 views
9

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

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

ответ

3

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

1

Возможно, попробуйте ctypes вместо SWIG. Если он был включен как часть Python 2.5, то он должен быть хорошим :-)

2

Я также попробовал ctypes.

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

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

5

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

Смежные вопросы