Russian Qt Forum
Ноябрь 25, 2024, 01:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Запуск matlab-файла(.m)  (Прочитано 6932 раз)
nikeo
Гость
« : Декабрь 07, 2012, 12:23 »

Всем доброго времени суток!
Есть необходимость подключить к проекту матлаб файл,выполнить определенные действия и получить результат.
Если кто сталкивался с такой задачей,то поделитесь пожалуйста)
Matlab Engine не подходит,так как там большое количество .m файлов.

Сама программа достаточно не удобная:
1.через QWebView загружаются google maps,через которые получаем долготу и широту.
2.Все эти данные,должны отправляться в матлаб модуль,для расчета геометрического потенциала за определенный промежуток времени,и,соответственно,возвращать числовой результат обратно.
3. В зависимости от результата,ставится маркер определенного цвета.

Вообщем то выполнено все,кроме модуля матлаба.
Записан
Nagdiel
Гость
« Ответ #1 : Декабрь 07, 2012, 20:09 »

Попробуй использовать Matlab COM-server
http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html
Записан
nikeo
Гость
« Ответ #2 : Декабрь 08, 2012, 16:09 »

Попробуй использовать Matlab COM-server
http://www.mathworks.com/help/matlab/call-matlab-com-automation-server.html
а если,допустим,использовать Engine,но сам файл будет ссылаться на еще кучу файлов,такое прокатит?)
Записан
Nagdiel
Гость
« Ответ #3 : Декабрь 08, 2012, 19:06 »

По идее не должно быть проблем с вызовом вложенных m-функций. Главное, чтобы Matlab знал путь к ним. По сути, работая с Matlab через COM интерфейс, имеем все то же самое, что и при непосредственной работе. Разница лишь в том, что данные передаются из внешнего приложения, оно же и вызывает нужные m-функции и скрипты через метод Execute(...).
Записан
nikeo
Гость
« Ответ #4 : Декабрь 08, 2012, 19:15 »

По идее не должно быть проблем с вызовом вложенных m-функций. Главное, чтобы Matlab знал путь к ним. По сути, работая с Matlab через COM интерфейс, имеем все то же самое, что и при непосредственной работе. Разница лишь в том, что данные передаются из внешнего приложения, оно же и вызывает нужные m-функции и скрипты через метод Execute(...).

А если,допустим,собрать дллки?можно ли собрать одну дллку с проекта?
Записан
Nagdiel
Гость
« Ответ #5 : Декабрь 08, 2012, 19:56 »

Если речь о Matlab-compiler, то ничего определенного сказать не могу в виду того, что не пробовал его использовать.

Здесь http://habrahabr.ru/post/146568/, например, написано:

[...] для компиляции этой функции в динамическую библиотеку:
- Пишем в консоли MatLab: deploytool.
- В открывшемся окне пишем имя проекта, его расположение а из выпадающего списка выбираем C Shared library и нажимаем OK. Учтите, что в Linux названия библиотек начинается со слова lib, поэтому и проект стоит называть libsum.prj
- В окне Exported Functions нажимаем на Add files и добавляем только что созданную функцию.
- Нажимаем на кнопку Build и дожидаемся окончания компиляции.

Судя по п.3 можно добавлять несколько разных функций, по крайней мере тех, что используют стандартный Runtime. А вот насчет того, чтобы создать библиотеку из кросс-зависимых функций, тут я не представляю, как поведет себя компилятор.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.136 секунд. Запросов: 21.