1 x 12 행렬을 가지고 4 x 3 행렬로 크기를 조정하려고한다고 가정합니다. 내가 어떻게 할 수 있니?MATLAB에서 행렬 크기를 조정하는 방법은 무엇입니까?
for n = 1:(length(mat)/3)
out(n,1:3) = mat(((n-1)*3 + 1):((n-1)*3 + 3));
end
이 작업을 수행 할 수있는 더 나은 방법이 있나요 :
나의 현재 솔루션은 추한의 종류입니까?
1 x 12 행렬을 가지고 4 x 3 행렬로 크기를 조정하려고한다고 가정합니다. 내가 어떻게 할 수 있니?MATLAB에서 행렬 크기를 조정하는 방법은 무엇입니까?
for n = 1:(length(mat)/3)
out(n,1:3) = mat(((n-1)*3 + 1):((n-1)*3 + 3));
end
이 작업을 수행 할 수있는 더 나은 방법이 있나요 :
나의 현재 솔루션은 추한의 종류입니까?
reshape
은 당연히 @gnovice에 명시된 바와 같이 적절한 해결책입니다. 당신이 얼마나 많은 열을 모르는 경우
A = 1:12;
B = reshape(A,4,[]);
B =
1 5 9
2 6 10
3 7 11
4 8 12
그래서, reshape
는 당신을 위해 그것을 계산됩니다
reshape
의 좋은 기능은이 수 있다는 것입니다. 마찬가지로, 나가는 경우 reshape
은 행 수를 입력합니다.
C = reshape(A,[],4)
C =
1 4 7 10
2 5 8 11
3 6 9 12
는 RESHAPE 기능을 시도
A = (1-by-12 matrix);
B = reshape(A,4,3);
매트릭스 B은 즉 열은 좌측 이동 위에서 아래로 충전한다 (a 칼럼 방식으로 의 요소로 채워질 것이다하는 것으로 권리).
예 :
>> A = 1:12;
>> B = reshape(A,4,3)
B =
1 5 9
2 6 10
3 7 11
4 8 12
+1 : 니스! 나는 실제로 그것을 결코 전에 알아 차리지 못했다. 나는 그것을 결코 사용할 필요가 없었던 것으로 생각한다. – gnovice