dind2sind
Функция перевода двойного индекса элемента матрицы в одинарный
Синтаксис
sind = dind2sind(rows, cols, dind1, dind2);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| rows | integer |
Целое число строк матрицы, индексы которой конвертируются |
| cols | integer |
Целое число столбцов матрицы, индексы которой конвертируются |
| dind1 | integer |
Целое число, номер строки матрицы |
| dind2 | integer |
Целое число, номер столбца матрицы |
Описание
В некоторых системах инженерных расчетов, обращение к элементу матрицы происходит с помощью
одного индекса i (single index) el = M(i) и нумерации элементов матрицы
осуществляется по столбцам сверху вниз начиная с левого. В то время, как в SimInTech
используется адресация с помощью двух индексов i,j (double index) el =
M[i][j], которые обозначают номер строки и номер столбца, на пересечении которых
находится элемент. Функция dind2sind осуществляет вычисление одинарного
индекса i матрицы размерностью rows×cols, для обращения к
элементу, заданному двойным индексом dind1, dind2.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| sind | integer |
Целое число, одинарный индекс элемента матрицы |
Пример
i = 4; // Номер строки
j = 1; // Номер столбца
sind2 = dind2sind(5, 6, i, j); // преобразование индексов SimInTech в индекс Matlab
В данном примере двумя индексами i=4, j=1 задан элемент в некой матрице, размерностью 5×6. С
помощью функции dind2sind осуществляется получение одинарного индекса
матрицы, равного 4.