Название: Запуск matlab-файла(.m) Отправлено: nikeo от Декабрь 07, 2012, 12:23 Всем доброго времени суток!
Есть необходимость подключить к проекту матлаб файл,выполнить определенные действия и получить результат. Если кто сталкивался с такой задачей,то поделитесь пожалуйста) Matlab Engine не подходит,так как там большое количество .m файлов. Сама программа достаточно не удобная: 1.через QWebView загружаются google maps,через которые получаем долготу и широту. 2.Все эти данные,должны отправляться в матлаб модуль,для расчета геометрического потенциала за определенный промежуток времени,и,соответственно,возвращать числовой результат обратно. 3. В зависимости от результата,ставится маркер определенного цвета. Вообщем то выполнено все,кроме модуля матлаба. Название: Re: Запуск matlab-файла(.m) Отправлено: Nagdiel от Декабрь 07, 2012, 20:09 Попробуй использовать Matlab COM-server
http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html (http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html) Название: Re: Запуск matlab-файла(.m) Отправлено: nikeo от Декабрь 08, 2012, 16:09 Попробуй использовать Matlab COM-server а если,допустим,использовать Engine,но сам файл будет ссылаться на еще кучу файлов,такое прокатит?)http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html (http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html) Название: Re: Запуск matlab-файла(.m) Отправлено: Nagdiel от Декабрь 08, 2012, 19:06 По идее не должно быть проблем с вызовом вложенных m-функций. Главное, чтобы Matlab знал путь к ним. По сути, работая с Matlab через COM интерфейс, имеем все то же самое, что и при непосредственной работе. Разница лишь в том, что данные передаются из внешнего приложения, оно же и вызывает нужные m-функции и скрипты через метод Execute(...).
Название: Re: Запуск matlab-файла(.m) Отправлено: nikeo от Декабрь 08, 2012, 19:15 По идее не должно быть проблем с вызовом вложенных m-функций. Главное, чтобы Matlab знал путь к ним. По сути, работая с Matlab через COM интерфейс, имеем все то же самое, что и при непосредственной работе. Разница лишь в том, что данные передаются из внешнего приложения, оно же и вызывает нужные m-функции и скрипты через метод Execute(...). А если,допустим,собрать дллки?можно ли собрать одну дллку с проекта? Название: Re: Запуск matlab-файла(.m) Отправлено: Nagdiel от Декабрь 08, 2012, 19:56 Если речь о Matlab-compiler, то ничего определенного сказать не могу в виду того, что не пробовал его использовать.
Здесь http://habrahabr.ru/post/146568/ (http://habrahabr.ru/post/146568/), например, написано: [...] для компиляции этой функции в динамическую библиотеку: - Пишем в консоли MatLab: deploytool. - В открывшемся окне пишем имя проекта, его расположение а из выпадающего списка выбираем C Shared library и нажимаем OK. Учтите, что в Linux названия библиотек начинается со слова lib, поэтому и проект стоит называть libsum.prj - В окне Exported Functions нажимаем на Add files и добавляем только что созданную функцию. - Нажимаем на кнопку Build и дожидаемся окончания компиляции. Судя по п.3 можно добавлять несколько разных функций, по крайней мере тех, что используют стандартный Runtime. А вот насчет того, чтобы создать библиотеку из кросс-зависимых функций, тут я не представляю, как поведет себя компилятор. |