3D 벡터 v
이 있습니다. 접힌 3D 행렬에서 대각선 찾기
A = rand(2, 2, 2);
v = sum(A, 2);
지금 내가 한 단지 :
for i = 1:2
B{i} = diag(v(:, :, i));
end
내 3D 벡터에서 3D 행렬을 좀하고 싶습니다 : 루프와
B = diag(v);
Error using diag
First input must be 2D.
, 나는 다음과 같은했다. 당신이 v
이 있고 루프없이 B
를 얻기 위해 찾고있는 그
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];
원하는 결과를 설명해 주시겠습니까? diag를 사용하여 오류를 피하려면 diag (squeeze (v))를 사용하십시오. –
''squeeze' 기능을 살펴보십시오. – Dan
'for' 루프를 사용하여 큐브를 조각내는 3D 대각선을 만들고 싶습니까? – kkuilla