Конкатенация матриц. Создание матриц с заданной диагональю.
Конкатенацией называют объединение массивов, которое реализует следующая функция.
- С = cat (dim, А, В) – объединяет массивы А и В в соответствии со спецификацией размерности dim и возвращает объединенный массив; dim = 1 – горизонтальная конкатенация, dim = 2 – вертикальная, dim = 3 – многомерный массив размерности 3 и т. д.;
- С = cat(dim,A1,A2,A3,A4,…) объединяет все входные массивы (А1, А2, A3, А4 и т. д.) в соответствии со спецификацией размерности dim и возвращает объединенный массив;
- cat(2.A,B) – это то же самое, что и [А,В],асаt(,А,В) – то же самое, что и [А; В]. При записи cat (dim, С (:)) или cat (dim, С .field) эта функция применима к массивам ячеек или структур, содержащим численные матрицы. Пример:
>
>
A
=
[
2.4
:
3.5
];B
=
[
8.7
;
9.0
];C
=
cat(
1
.A.B)
C
=
2
4
3
5
8
7
9
0
Создание матриц с заданной диагональю
Свойства матриц сильно зависят от их диагональных элементов. Следующая функция MATLAB позволяет создавать специальные типы матриц с заданными диагональными элементами:
- X = diag(v.k) – для вектора v, состоящего из п компонентов, возвращает квадратную матрицу X порядка n+abs(k) с элементами v на k-й диагонали, при k=0 – это главная диагональ (из левого верхнего угла матрицы в правый нижний угол), при k>0 – одна из диагоналей (диагональ в терминологии MATLAB – это линия, параллельная главной диагонали) выше главной диагонали, при k<0 – одна из нижних диагоналей. Остальные элементы матрицы – нули;
- X = diag(v) – помещает вектор v на главную диагональ (то же. что и в предыдущем случае при k=0);
- v = diag(X.k) – для матрицы X возвращает вектор-столбец, состоящий из элементов n-й диагонали матрицы X;
- v = diag(X) – возвращает главную диагональ матрицы X (то же, что и в предыдущем случае при k=0).
Примеры:
>
>
v
=
[
2.3
];X
-
diag(v.
2
)
X
=
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
>
>
X
=
[
2.5.45.6
;
3.5.4.9
;
7.9.4.8
;
5.66.45.2
];
v
=
diag(X,
0
)
v
=
2
5
4
2