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