Кто-нибудь есть опыт создания разделяемой библиотеки в MATLAB?

голоса
9

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

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

Задан 07/08/2008 в 19:47
источник пользователем
На других языках...                            


4 ответов

голоса
5

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

Ответил 02/11/2009 в 04:43
источник пользователем

голоса
3

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

Ответил 07/08/2008 в 21:57
источник пользователем

голоса
2

Я бы также попробовать ctypes первым.

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

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

Ответил 26/09/2008 в 10:55
источник пользователем

голоса
1

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

Ответил 19/08/2008 в 14:51
источник пользователем

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