2016-06-29 4 views
0

숫자 벡터를 가지고 있고 셀에 4 개 요소를 모두 저장하려고합니다. 그래서 첫 번째 4 원소는 첫 번째 셀에 들어가고, 다음 4 원소는 두 번째 셀에 들어가게됩니다.벡터 요소를 셀에 저장하십시오.

루프를 사용하지 않고이를 수행 할 수있는 방법이 있습니까? 감사!

답변

1

data = 1:16; 
output = mat2cell(data, 1, (numel(data)/4) * ones(1,4)) 

% output{1} = 
% 
%  1 2 3 4 
% 
% output{2} = 
% 
%  5 6 7 8 
% 
% output{3} = 
% 
%  9 10 11 12 
% 
% output{4} = 
% 
%  13 14 15 16 

가 개인적으로 나는 조금 혼란 입력 형식을 발견 할 mat2cell를 사용할 수 있습니다. 또 다른 방법은 행렬을 4 행으로 바꾼 다음 num2cell을 사용하여 각 열을 자체 셀로 분리하는 것입니다.

data = 1:16; 
output = num2cell(reshape(data, 4, []), 1) 
+0

도움 주셔서 감사합니다! 개인적으로 두 번째 방법을 선호합니다. 이해하기 쉽습니다. – TYL