Ответ 1
Matlab Compiler - стандартный способ сделать это. mcc
- это команда. Для запуска программ требуется время выполнения Matlab Runtime; Я не уверен, может ли он быть непосредственно интегрирован с исполняемым файлом или нет.
Мне было интересно, есть ли способ создать файл ".exe" из файла ".m" в matlab, чтобы его можно запустить на машине, которая не имеет matlab (например, это можно сделать в c, С++) Я знаю, что написать функцию Matlab является одним из способов, но не уверен, может ли он работать в машине без Matlab.
Также я хотел бы скрыть свой код и просто создать script, который может запускаться пользователем, используя свои собственные файлы данных. Благодаря
Matlab Compiler - стандартный способ сделать это. mcc
- это команда. Для запуска программ требуется время выполнения Matlab Runtime; Я не уверен, может ли он быть непосредственно интегрирован с исполняемым файлом или нет.
Если у вас установлен MATLAB Compiler, есть опция GUI для компиляции. Попробуйте ввести
deploytool
в командной строке. Mathworks очень хорошо документирует, как использовать его в этом видеоуроке: http://www.mathworks.com/products/demos/compiler/deploytool/index.html
Кроме того, если вы хотите включить пользовательский ввод, например, выбрать файл или каталог, просмотрите
uigetfile % or uigetdir if you need every file in a directory
для использования в сочетании с
guide
Try:
mcc -m yourfile
Также см. help mcc
Если ваш код более похож на процедуру анализа данных (по сравнению с визуализацией /GUI ), попробуйте GNU Octave. Он бесплатный, и многие его функции совместимы с MATLAB. (Не 100%, но, возможно, 99,5%.)
Метод "StandAlone" для компиляции файла .m(или файлов) требует набора файлов библиотеки Matlab (.dll) на целевой (не-Matlab) платформе, чтобы разрешить выполнение генерируемого компилятором .exe.
Проверьте основной сайт MATLAB для своих продуктов компилятора и их ограничений.
Раньше было возможно скомпилировать Matlab на C со старыми версиями Matlab. Ознакомьтесь с другими инструментами, с которыми поставляется Matlab.
Самый новый код Matlab может быть экспортирован как Java-jar или .Net Dll и т.д. Затем вы можете записать исполняемый файл с этой библиотекой - он будет запутан, кстати. Пользователям придется установить свободно доступную временную среду Matlab.
Как и многие другие, mcc/mcc.exe - это то, что вы хотите преобразовать код MATLAB в код C.
Я разработал не-matlab-программное обеспечение для прямой компиляции m файлов (TMC Compiler). Это конвертер с открытым исходным кодом проектов m файлов на C. Компилятор создает код C, который может быть связан с предоставленной библиотекой времени выполнения с открытым исходным кодом для создания автономного приложения. Библиотека реализует набор встроенных функций; операции линейной алгебры используют код LAPACK. Можно расширить набор встроенных функций посредством пользовательской реализации, как описано в документации.