Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
matrix
изменение вектора или матрицы в матрицу иных размеров
Синтаксис
y = matrix(v, m, n) y = matrix(v, m1, m2, m3, ..) y = matrix(v, [sizes])
Аргументы
- v
вектор, матрица или гиперматрица
- n, m, m1, m2, ..
целые числа
- sizes
вектор целых чисел
- y
вектор, матрица или гиперматрица
Описание
Для вектора или матрицы с элементами n x m
команда
y=matrix(v,n,m)
или аналогичная y=matrix(v,[n,m])
преобразует вектор (или матрицу) v
в матрицу размерами
n x m
постолбцовой установкой элементов v
.
Если один из размеров m
или n
равен -1, то он автоматически
присваивается отношению size(v,'*')
к другому размеру.
Для гиперматрицы такой, что prod(size(v))==prod(sizes)
команда
y=matrix(v,sizes)
(или аналогичная y=matrix(v,n1,n2,...nm)
)
преобразует v
в матрицу или гиперматрицу постолбцовой установкой
(первый размер меняется первым) элементов v
.
y=matrix(v,sizes)
даёт обычную матрицу, если размеры являются скалярами или
двумерным вектором.
|
Примеры
С обычной матрицей десятичных чисел:
a = [1 3 5 7 9 11; 2 4 6 8 10 12] matrix(a, 4, 3) matrix(a, [3 4]) matrix(a, 3, -1) // в гиперматрицу: matrix(a, 3, 2, 2)
С текстами:
t = strsplit("a":"x",1:23)' matrix(t,[3,8])
--> t = strsplit("a":"x",1:23)' t = !a b c d e f g h i j k l m n o p q r s t u v w x ! --> matrix(t,[3,8]) ans = !a d g j m p s v ! !b e h k n q t w ! !c f i l o r u x !
С гипермассивом cell-элементов:
c = makecell([2,3,2], %t,%z, %i,"abc", list(%pi,"a"), int8(23),cos,sind,"àèìòù",corelib, 0.5, 1/%z^2) rc = matrix(c, 3, 4) rc(8)==c(8) rc{8}.getshell
c = (:,:,1) [1x1 boolean] [1x1 polynomial] [1x1 constant] [1x1 string ] [ list ] [1x1 int8 ] (:,:,2) [ 1 fptr ] [ 1 function] [1x1 string] [ library] [ 1x1 constant] [ r ] --> rc = matrix(c, 3, 4) rc = [1x1 boolean ] [ list ] [ 1 fptr ] [1x1 constant] [1x1 string ] [1x1 constant] [ library ] [1x1 string ] [1x1 polynomial] [1x1 int8 ] [ 1 function] [ r ] --> rc(8)==c(8) ans = T --> rc{8}.getshell ans = cmd
С массивом структур:
clear s s(3,6).r = %pi matrix(s,2,9)
--> s(3,6).r = %pi s = 3x6 struct array with fields: r --> matrix(s,2,9) ans = 2x9 struct array with fields: r
Смотрите также
- двоеточие (:) — оператор "двоеточие"
- resize_matrix — trim or/and extend (and cast) a matrix or hypermatrix
- ndims — количество размерностей массива
- size — размер объекта
- выделение — выделение элемента матрицы или списка
- транспонирование — (') оператор транспонирования, разграничитель символьной строки
- квадратные скобки [..] — Concatenation. Recipients of an assignment. Results of a function
- матрицы — объект Scilab'а, матрицы в Scilab'е
- гиперматрицы — объект Scilab'а, N-мерная матрица в Scilab'е
- makecell — Creates a cell array.
- struct — создаёт структуру
- mlist — объект Scilab'а, определение матричноориентированного типизированного списка
Report an issue | ||
<< flipdim | Манипуляции с матрицами | permute >> |