MATLAB: How to make a big tridiagonal matrix with matrices

matrix manipulation

How can I make a matrix H from two smaller matrices as shown in the attached image?

Best Answer

h=size(H0);
a=[H0,zeros(h);zeros(h),H0];
b=[zeros(h),H1;H1,zeros(h)];
H=blkdiag(a,a,a,a,a,a)+blkdiag(b,b,b,b,b,b)+blkdiag(zeros(h),b,b,b,b,b,zeros(h));