sind2dind

Функция перевода одинарного индекса элемента матрицы в двойной.

Синтаксис

dind = sind2dind(rows, cols, sind);

Аргументы

Имя Тип данных Описание
rows integer

Целое число строк матрицы, индексы которой конвертируются

cols integer

Целое число столбцов матрицы, индексы которой конвертируются

sind integer Целое число, одинарный индекс матрицы

Описание

В некоторых системах инженерных расчетов, обращение к элементу матрицы происходит с помощью одного индекса i (single index) el = M(i) и нумерации элементов матрицы осуществляется по столбцам сверху вниз начиная с левого. В то время, как в SimInTech используется адресация с помощью двух индексов i,j (double index) el = M[i][j], которые обозначают номер строки и номер столбца, на пересечении которых находится элемент. Функция sind2dind осуществляет вычисление двух индексов i и j матрицы, размерностью rows×cols, для обращения к элементу, заданному одинарным индексом sind.

Результат

Имя Тип данных Описание
dind array Массив целых чисел, состоящий из значений индексов i и j

Пример

sind = 4; // индекс элемента матрицы 5x6 в системе Matlab 
dind = sind2dind(5, 6, sind); // двойной индекс [i,j] того же элемента в системе координат SimInTech
i = dind[1]; // значение i=4
j = dind[2]; // значение j=1

В данном примере одинарным индексом задан элемент номер 4 в некой матрице, размерностью 5×6. С помощью функции sind2dind осуществляется получение соответствующих этому элементу индексов i=4 и j=1 в этой же матрице, но в системе координат SimInTech. Обратное преобразование осуществляется с помощью функции dind2sind, которая возвращает одинарный индекс 4.

Дополнительные материалы