exponenta event banner

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