Matriz diagonal de bloque extendida en Matlab

Sé que para generar una matriz de bloques en diagonal en Matlab, el comandoblkdiag genera tal matriz:

Ahora me enfrento a generar la misma matriz de bloques en diagonal, pero también con elementos de matrizB_1, B_2, ...,B_{n-1} en la diagonal superior, ceros en otra parte:

Supongo que esto se puede codificar con bucles, pero me gustaría encontrar una solución más elegante. ¿Alguna idea sobre cómo implementar tal cosa?

PD yodiag comando, que usandodiag(A,k) devuelve elkth diagonal. Necesito algo para escribir en la matriz, porquek> 0, y para matrices de bloques, no solo elementos.

Respuestas a la pregunta(2)

Su respuesta a la pregunta