Блог им. Kot_Begemot

Open Source : Lua - MatLab Connector (3)



Краткое описание :

Библиотека Matlab2Lua  позволяет интегрировать Lua скрипты и Маtrix Laboratory Engine.


Полное описание :

Библиотека позволяет Lua и Матлаб обмениваться данными при помощи функций :

lua variable = Get( string Matlab varname );  — получение переменной из среды матлаб по имени, поддерживаются Double Array, Cell Array of Strings, Double Value, Integer Value, String Value. Возвращает -1 в случае неудачи.

int Eval ( string MatlabСommand ) — передает команду в MatLab Command Line, в качестве переменной типа string; возвращает -1 в случае неудачи, и 1 в случае успеха.

int PutVal( string Name, string/number Value) — передает в Матлаб значение Value типа string или number под именем Name. 1- успех, -1 — неудача.

int PutDouble( string Name, table T) — передает в Матлаб под именем Name таблицу Луа, заполненную численными значениями. Ответ — аналогичный.

int PutCell( string Name, table T)  — передает в Матлаб под именем Name таблицу Луа, заполненную строковыми или численными значениями, подлежащими преобразованию в строки. Ответ — аналогичный.


Требует запущенного Matlab Engine в качестве Automation Server (MatLab-side) :

server=actxserver('matlab.application.single'); server.Execute(' enableservice (''AutomationServer'', true)');

Файлы :

1. Скомпилированная под win64 библиотека Matlab2Lua.dll с «встроенной» (статической) линковкой. (MinGW64, CodeBlocks)
2. Тестовый скрипт Lua Test.Lua, демонстрирующий работу библиотеки
3. Открытый код Cpp main.cpp (без проекта). 



Лицензия :

Автор: Кот-Бегемот
Благодарности: 3Qu
Лицензия: All what you want


Ссылки проекта :


1. Cpp DLL для Lua
2. Cpp и Matlab Engine
3. Lua API и Сpp 


Используемые модули и библиотеки (для сборки проекта):

Поставка Матлаб:

1. Библиотека libeng.lib, отвечающая за управление интерфейсом Matlab   (matlabroot)/extern/lib/win64/microsoft  
2. Библиотека libmx.lib, отвечающая за конвертацию данных Matlab — Cpp   (matlabroot)/extern/lib/win64/microsoft
3. Файл заголовок engine.h, описывающий доступные пользователю функции.  (matlabroot)/extern/include/win64/microsoft
4. Библиотека libeng.dll, отвечающая за управление интерфейсом Matlab
.  (matlabroot)/bin/win64

* директории указаны соответственно 64-битной win OS

Поставка Lua :

1. lua5.1.dll или аналог
2. luaxlib.h
3. lua.h

* Находятся в открытом доступе, например : http://luabinaries.sourceforge.net/download.html
  • обсудить на форуме:
  • Quik Lua
| ★11
6 комментариев
ЗакрепитьКомментарий закреплен пользователем Kot_Begemot

Полное дерево ссылок
 ,  доступ к хранилищу


Изменения от 20.04.2020 :


Библиотека протестирована в рабочем режиме на Quick 8.4.1.6.

Добавлена возможность передачи одномерных Lua таблиц как вектор-столбцов.


Изменения от 01.09.2020 :

Добавлена версия под Lua 5.3 

MatLab2Lua53.dll
Файлы проекта
avatar
Обозначьте мотивацию для чего используется библиотека, какие цели у всего проекта
avatar
Митин Артём, для использования торговых роботов, написанных на Матлаб 
avatar
Это круто! Ни разу не видел торгового робота на Матлабе
avatar
Много лет у меня робот на Матлабе. Из Квика по ДДЕ, обратно через текстовый файл в Купайл. Не очень красиво, но вполне надёжно. Когда появился Луа сам пробовал через СОМ сделать. Но не программист.
Ваш коннектор интересно, хотел попробовать. Но не понял, что в какие папки сохранять. С путями к либе выдаёт ошибки. И когда и откуда запускать actxserver?
Подскажите, если не трудно.
avatar

Приветствую

Проект не запускается.

Ошибка в Quik

error loading module 'Matlab2Lua53' from file 'D:\bns\Documents\QUIK_DEMO\Matlab2Lua53.dll':
Не найден указанный модуль.

Моя версия Quik 8.12 & Lua 5.3.5 (под Win10)

В чем может быть причина?

avatar

Читайте на SMART-LAB:
Фото
⌛До закрытия книги заявок остался всего 1 час
Сегодня в 15:00 по московскому времени окончательно закроется книга заявок на два выпуска облигаций ГК «А101». Окончательное размещение...
"Русагро" начала независимую оценку активов для защиты инвесторов от излишнего налога
Агрохолдинг «Русагро» сделал важный шаг для защиты инвесторов, запустив процедуру независимой оценки активов. Эта оценка призвана решить серьезный...
Фото
📈 Синара: целевая цена акций МГКЛ на конец 2026 года — 5,2 рубля
Ниже приводим краткое содержание мнения аналитиков. Инвестиционный банк Синара обновил прогноз по МГКЛ: оценочная капитализация ПАО...
Фото
Какая доходность среди облигаций с наивысшим рейтингом надежности и сроком погашения от 3 лет?

теги блога Kot_Begemot

....все тэги



UPDONW
Новый дизайн