Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
47
Добавлен:
24.02.2016
Размер:
183.81 Кб
Скачать

Тело программы.

Здесь расположен собственно код, ради которого создан MEX–файл. В этой части кода можно включить функции, классы и другие структуры. Все процедуры можно оформить наиболее оптимальным способом, что невозможно для MATLAB Compiler.

Пример вставки на языке Ассемблера:

double i;

int j;

i = mxGetScalar(prhs[0]);

j = int(i);

/* Открываем блок с помощью _asm – специфика MS Visual

C++ */

_asm

{

mov eax, j; // копируем в расширенный (32 разрядный

регистр) общего назначения

inc eax; // увеличиваем на 1

mov j, eax; // присваиваем переменной j новое

значение

}

mexPrintf("%g\n", i);

mexPrintf("%d\n", j);

Выход.

При завершении подпрограммы (окончание блока mexFunction(...) {...}) в среду MATLAB возвращаются связанные с массивом plhs значения.

Заключение.

Были изложены основополагающие моменты по созданию MEX–файлов на C/C++. API MATLAB содержат множество функций для работы с mat–файлами, можно использовать функции API Compiler, и даже можно делать вставки на Ассемблере. Все эти потрясающие возможности MATLAB делают её системой математических вычислений, сравнимой по скорости с программами изначально написанными на языках Delphi, Fortran, C/C++, при этом значительно сокращается время разработки и отладки программ.

Библиотека Math C++ и вызов функций MATLAB из приложений.

Ещё одной замечательной возможностью системы MATLAB является вызов функций MATLAB из написанного вами приложения (требует установленной MATLAB на компьютере, где запускается это приложение).

Если использовать при написании приложений на C/C++ библиотеку C/C++ Math, то можно использовать функции MATLAB, при этом не требуется, чтобы на компьютере был установлен MATLAB.

Соседние файлы в папке METOD