Краткое описание :
Библиотека 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
Полное дерево ссылок , доступ к хранилищу
Изменения от 20.04.2020 :
Библиотека протестирована в рабочем режиме на Quick 8.4.1.6.
Добавлена возможность передачи одномерных Lua таблиц как вектор-столбцов.
Изменения от 01.09.2020 :
Добавлена версия под Lua 5.3
MatLab2Lua53.dll
Файлы проекта
Ваш коннектор интересно, хотел попробовать. Но не понял, что в какие папки сохранять. С путями к либе выдаёт ошибки. И когда и откуда запускать actxserver?
Подскажите, если не трудно.
Приветствую
Проект не запускается.
Ошибка в Quik
error loading module 'Matlab2Lua53' from file 'D:\bns\Documents\QUIK_DEMO\Matlab2Lua53.dll':
Не найден указанный модуль.
Моя версия Quik 8.12 & Lua 5.3.5 (под Win10)
В чем может быть причина?