Иллюстрированный самоучитель по MatLab

Конкатенация матриц. Создание матриц с заданной диагональю.

Конкатенацией называют объединение массивов, которое реализует следующая функция.

  • С = 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
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.