Возместите от первого элемента до желаемого элемента
#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
.