Matriz diagonal de bloco estendida no Matlab

Eu sei que para gerar uma matriz diagonal de blocos no Matlab o comandoblkdiag gera essa matriz:

Agora, estou enfrentando a geração da mesma matriz diagonal de bloco, mas também com elementos da matrizB_1, B_2, ...,B_{n-1} na diagonal superior, zeros em outros lugares:

Eu acho que isso pode ser codificado com loops, mas eu gostaria de encontrar uma solução mais elegante. Alguma idéia de como implementar uma coisa dessas?

P.S. Eudiag comando, que usandodiag(A,k) retorna okth diagonal. Preciso de algo para escrever na matriz, parak> 0 e para matrizes de bloco, não apenas elementos.

questionAnswers(2)

yourAnswerToTheQuestion