Смещение от первого элемента к требуемому элементу
#include "matrix.h" mwIndex mxCalcSingleSubscript(const mxArray *pm, mwSize nsubs, mwIndex *subs);
Звонить mxCalcSingleSubscript определить, сколько элементов находится между началом mxArray и заданный элемент этого mxArray. Функция преобразует индексы в линейные индексы.
Для примера, с учетом индекса, подобного (5,7), mxCalcSingleSubscript возвращает расстояние от первого элемента массива к (5,7) элемент. Помните, что mxArray тип данных внутренне представляет все элементы данных в одномерном массиве независимо от того, сколько размерности MATLAB®
mxArray по-видимому, имеет. Для примеров, показывающих внутреннее представление, смотрите Хранение данных.
Избегайте использования mxCalcSingleSubscript для прохождения элементов массива. На C более эффективно найти начальный адрес массива и затем использовать автоинкрементацию указателя для доступа к последовательным элементам. Например, чтобы найти начальный адрес числового массива, вызовите одну из типизированных функций доступа к данным, например, mxGetDoubles или mxGetComplexDoubles.