MATLAB: Split a diagonal matrix

matrix manipulation

v = [2 1 4];
D = diag(v)
Having a diagonal matrix, i wanted to split the diagonal matrix as below
M1 = [
2 0 0
0 0 0
0 0 0]
M2 = [
0 0 0
0 1 0
0 0 0]
M3 = [
0 0 0
0 0 0
0 0 4]
working for any dimension diagonal matrix

Best Answer

v = [2 1 4];
nx = length(v) ;
M = zeros(nx,nx,nx) ;
for i = 1:nx
M(i,i,i) = v(i) ;
end