Конкатенация матриц. Создание матриц с заданной диагональю.
Конкатенацией называют объединение массивов, которое реализует следующая функция.
- С = 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 43 58 79 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 00 0 0 30 0 0 00 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 =2542