2013-02-27 2 views
1

나는 28x28x10000 인 matlab에 매트릭스를 가지고 있습니다. 나는 10000 * 784의 행렬로 그것을 재구성하려고합니다. 각 28x28 서브 매트릭스는 한 행으로 압착됩니다. 그래서 시도 했어matlab에 매트릭스 재구성

이것은 올바른 모양의 매트릭스를 제공하지만 값이 올바르지 않습니다. 누구든지이 작업을 수행 할 수있는 또 다른 방법을 알고 있습니까?

답변

3

reshape 매트릭스에서 요소를 열 단위로 가져옵니다.

reshape(permute(mat,[3 1 2]), 10000, []); 

[3 1 2] 인수 permute에 대한 수단 1로 3 차원을 사용하여 목적을 위해, 그건 당신이 (permute를 사용) 원래 행렬의 크기를 재 배열하면, 당신이 사용하는 당신은 이미처럼 바꿀 수 있다는 것을 의미한다 , 원래의 1st는 새로운 2nd, 원래의 2nd dimension은 새로운 3rd의 것입니다. 10000x28x28 행렬입니다. 각 열에는 10000 개의 요소가 포함되어 있으므로 reshape와 같은 열을 사용하면 원하는 것을 얻을 수 있습니다.

+0

이것은 정확히 내가 찾고있는 것입니다. 고마워요! – sfendell

관련 문제