Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
permute
переставляет размерности массива
Синтаксис
y = permute(x, dims)
Аргументы
- x
- массив с любым числом размерностей (0, 1, 2 или любым числом n>2) любого типа данных: логических, целочисленных десятичных вещественных или комплексных чисел, полиномов, рациональных значений, массива структур, cell-массива. 
- dims
- допустимая перестановка - 1:n>=nmin, где- n- это количество размерностей желаемого массива, по меньшей мере- nmin = ndims(x).- Размерность - #iв- yбыла размерностью- #dims(i)в- x.
- y
- массив, у которого содержимое массива - x, с одинаковыми, не переставленными размерами.
Описание
Переставляет размерности массива согласно dims.
|  | Любые размерности в конце последовательности результата  y, которые
             оказываются одноэлементным множеством (имеют новый размер равный 1, произошедший из
             предыдущей размерности неединичного размера не в конце последовательности),
             автоматически игнорируются (удаляются). | 
|  | Главным образом  permute()представляет интерес, когда идёт работа с
             гиперматрицами. Чтобы просто транспонировать матрицу (переставить местами их
             строки и столбцы и наоборот), то лучше использовать операторы.
             'или'. | 
Примеры
// Пример 1: матрица становится гиперматрицей, одна сторона которой имеет размер // равный единице (здесь количество строк) x = [1 2 3; 4 5 6] y = permute(x,[3 1 2])
--> x = [1 2 3; 4 5 6] x = 1. 2. 3. 4. 5. 6. --> y = permute(x,[3 1 2]) y = (:,:,1) 1. 4. (:,:,2) 2. 5. (:,:,3) 3. 6.
// Пример 2: С закодированными целыми числами x = int8(matrix(1:24, [3 4 2])) y = permute(x, [2 3 1])
--> x = int8(matrix(1:24, [3 4 2])) x = (:,:,1) 1 4 7 10 2 5 8 11 3 6 9 12 (:,:,2) 13 16 19 22 14 17 20 23 15 18 21 24 --> y = permute(x, [2 3 1]) y = (:,:,1) 1 13 4 16 7 19 10 22 (:,:,2) 2 14 5 17 8 20 11 23 (:,:,3) 3 15 6 18 9 21 12 24
// Пример 3: x = matrix(1:8, [2 1 4]) y = permute(x, [3 1 2]); // Размерность 1 была третьей: размер = 4 = новое количество строк // Размерность 2 была первой: размер = 2 = новое количество строк // Размерность 3 была второй: размер = 1 = новое количество страниц y
Смотрите также
История
| Версия | Описание | 
| 6.0 | Расширение для рациональных значений. | 
| Report an issue | ||
| << matrix | Манипуляции с матрицами | pertrans >> |