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.