Мне нужно сформировать диагональную матрицу из трехмерного массива:
учитывая A =rand(2,2,5)
. B
- это матрица, диагональными элементами которой являются срезы A
A
имеет следующие срезы: a1, a2, a3, a4 и a5, срезы 2 x 2.
B
должен выглядеть так:
[a1 0 0 0 0;
0 a2 0 0 0;
0 0 a3 0 0;
0 0 0 a4 0;
0 0 0 0 a5]
Я реализовал это как:
lambda=[];
for m=1:N
l=A(:,:,m);
lambda = [lambda; l];
end
Это формирует матрицу 10 x 2. Где моя ошибка?