Преобразование Matlab в C++

Мне нужно преобразовать некоторый код MATLAB в C++. Я использую Visual Studio 2010 и у меня установлен компилятор MATLAB. Мне интересно, как мне это сделать.

Кроме того, когда я опубликую свой проект, конечный пользователь должен будет установить что-либо с помощью MATLAB? (это не может быть так)


person ddd    schedule 11.10.2011    source источник


Ответы (3)


Вы можете скомпилировать скрипты Matlab в автономные исполняемые файлы, но я не знаком с инструментом Matlab для конвертировать код Matlab в код Visual C++. Вы можете преобразовать код Matlab в C или C++, используя Simulink Coder (ранее Real-Time Workshop), который доступен в Mathworks как отдельный продукт.

Чтобы запустить автономный исполняемый файл, пользователю необходимо установить среду выполнения компилятора Matlab. На веб-странице компилятора Matlab:

Исполняемые файлы и библиотеки, созданные с помощью продукта MATLAB Compiler, используют механизм выполнения, называемый MATLAB Compiler Runtime (MCR). MCR поставляется с компилятором MATLAB Compiler для распространения вместе с вашим приложением и может быть развернуто бесплатно.

person eykanal    schedule 11.10.2011
comment
Давным-давно компилятор MATLAB использовал для перевода кода MATLAB на C, но он не делал этого в течение некоторого времени. В настоящее время он просто преобразует (*.m) исходные файлы MATLAB в запутанный, предварительно проанализированный формат (.p), упакованный так, что его можно запускать как отдельный исполняемый файл или вызывать из другой программы. В любом случае на целевой машине, на которой оно должно быть запущено, должен быть установлен MCR из той версии MATLAB, для которой было разработано приложение. - person William Payne; 12.10.2011
comment
но я не думаю, что есть инструмент Matlab для преобразования кода Matlab в код C++ или Visual C++. Дезинформация: есть такой инструмент Matlab, и он называется мастерской в ​​реальном времени. Однако это отдельный продукт для компилятора Matlab и требует другой лицензии. - person learnvst; 26.01.2012

Вы не избавитесь от среды выполнения Matlab. У меня часто возникали проблемы с использованием компилятора Matlab. В основном это похоже на оболочку среды выполнения Matlab, генерирует неуклюжий код и создает много проблем для развертывания. C альтернативы ... ? Я не мог найти ни одного. Поэтому недавно я перешел на ilnumerics, который похож на Matlab на C#, только намного быстрее и без перевода. до сих пор это работает отлично, потому что мы все равно используем ASP.NET и, следовательно, экономим переходы между языками и можем напрямую использовать трехмерные графики ilnumerics.

person Paul Wendler    schedule 05.03.2012

Другой вариант — использовать движок MATLAB. Это, вероятно, не вариант для приложений реального времени, но в остальном это действительно приятно. Вы в основном вызываете функции MATLAB прямо из C++. Цифры (графики) будут отображаться так же, как если бы вы запускали MATLAB локально. При запуске программы создается консоль MATLAB.

person Derek Greer    schedule 11.10.2011