Смещение от первого элемента к требуемому элементу
#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.