Вы можете пойти на подход Java (поскольку Matlab работает на JRE и может обращаться к объектам / методам Java - просто имейте в виду, что JRE Matlab не так современна, как последняя JRE, тот, который я использую, использует Java 1.5) и использует JNA для доступа к вашей DLL.
Или, если вы написали DLL верхнего уровня, вы могли бы пойти на подход COM / ActiveX.
Я добился больших успехов, создав интерфейс для моих функций C ++ в виде библиотек COM / ActiveX - вам не нужно беспокоиться об этом .h.
См. Руководство Внешние интерфейсы о COM-клиентах, в частности, о управлении / преобразовании данных.
Было бы дополнительной работой добавить слой COM / ActiveX, но это сделало бы вашу библиотеку более переносимой в мире Windows и, вероятно, более удобной для использования в MATLAB.
Если у вас много вызовов функций для вашей DLL, подход COM / ActiveX может быть быстрее (не уверен), но в противном случае я думаю, что подход JNA будет проще.