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 — размер объекта
- выделение — выделение элемента матрицы или списка
- транспонирование — (') оператор транспонирования, разграничитель символьной строки
- квадратные скобки [..] — Конкатенация. Получатели присвоения. Результаты функции.
- матрицы — объект Scilab'а, матрицы в Scilab'е
- гиперматрицы — объект Scilab'а, N-мерная матрица в Scilab'е
- makecell — Creates a cell array.
- struct — строит структуру или массив структур
- mlist — объект Scilab'а, определение матричноориентированного типизированного списка
| Report an issue | ||
| << flipdim | Манипуляции с матрицами | permute >> |