У меня есть 3D-векторы v
.
A = rand(2, 2, 2);
v = sum(A, 2);
Теперь я просто сделал:
B = diag(v);
Error using diag
First input must be 2D.
С циклом я сделал следующее:
for i = 1:2
B{i} = diag(v(:, :, i));
end
Я хотел бы получить 3D-матрицы из моих 3D-векторов. Предположим, у меня есть следующий вектор:
v(:, :, 1)=[1 2 3]';
v(:, :, 2)=[1 2 4]';
%I would like to get, using some command and without loop (if possible), a 3D matrix B
B(:, :, 1)=[1 0 0;
0 2 0;
0 0 3];
B(:, :, 2)=[1 0 0;
0 2 0;
0 0 4];
squeeze
- person Dan   schedule 24.06.2014for
? - person kkuilla   schedule 24.06.2014