Main Content

blkdiag

Matriz diagonal por bloques

Descripción

B = blkdiag(A1,...,AN) devuelve la matriz diagonal por bloques creada alineando las matrices de entrada A1,...,AN a lo largo de la diagonal de B.

ejemplo

Ejemplos

contraer todo

Cree una matriz diagonal por bloques a partir de tres matrices de diferentes tamaños.

A1 = ones(2,2);
A2 = 2*ones(3,2);
A3 = 3*ones(2,3);
B = blkdiag(A1,A2,A3)
B = 7×7

     1     1     0     0     0     0     0
     1     1     0     0     0     0     0
     0     0     2     2     0     0     0
     0     0     2     2     0     0     0
     0     0     2     2     0     0     0
     0     0     0     0     3     3     3
     0     0     0     0     3     3     3

Argumentos de entrada

contraer todo

Matrices de entrada, especificadas como una lista de matrices separada por comas. Las matrices pueden ser cuadradas o rectangulares y pueden tener diferentes tamaños.

Si cualquiera de las matrices de entrada es dispersa, la matriz diagonal por bloques de salida también es dispersa.

Más acerca de

contraer todo

Matriz diagonal por bloques

Una matriz diagonal por bloques es una matriz cuya diagonal contiene bloques de matrices más pequeñas, en oposición a una matriz diagonal normal, que contiene elementos únicos por toda la diagonal. Una matriz diagonal por bloques toma la siguiente forma, donde A1, A2,..., AN son cada una de ellas matrices que pueden tener tamaños diferentes:

Illustration of a diagonal matrix with blocks A1, A2, and so on along the main diagonal.

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Generación de código de GPU
Genere código CUDA® para GPU NVIDIA® mediante GPU Coder™.

Historial de versiones

Introducido antes de R2006a

Consulte también