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