mxCalcSingleSubscript (C)

Смещение от первого элемента к требуемому элементу

Синтаксис C

#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.

Входные параметры

расширить все

Указатель на mxArray массив, заданный как const mxArray*.

Количество элементов в subs массив, заданный как mwSize. Как правило, вы задаете nsubs равным количеству размерностей в mxArray что pm указывает на.

Массив нижних индексов, заданный как mwIndex. Каждое значение в массиве задает нижний индекс размерности. Значение в subs(1) задает индекс строки и значение в subs(2) задает индекс столбца. Используйте индексацию на основе 1 для индексов. Для примера выразить стартовый элемент массива двумерную mxArray в subs, задать subs(1) на 1 и subs(2) на 1.

Примеры

См. эти примеры в matlabroot/ extern/examples/mx:

См. также

|

Представлено до R2006a