2010-07-04 6 views
0
student1  student2  student3 
code score code score code score 
1  20  1  100 1  22 
2  11  3  11  2  90 
3  12  4  22  5  11 
4  11 
5  28 

이 질문은 How do I combine uneven matrices into a single matrix?과 관련이 있지만 약간 다릅니다. 크기가 다른 n 개의 파일을 결합하고 싶습니다. 각 파일은 루프를 통해 읽습니다. 아래에 나와있는 출력을 어떻게 얻을 수 있습니까? 대신Matlab 결합 매트릭스

inputdata=[code score]; 
sortdata = sortrows(inputdata,1); 

사용

completedata(code, n+1) = score; 

당신이 당신의 마지막 배열 인덱스로 code를 사용하는이 방법의

for i=1:n 
    .... 
    inputdata=[code score]; 
    sortdata= sortrows(inputdata,1); 
end 

Output 
code s1 s2 s3 
1 20 100 22 
2 11 0 90 
3 12 11 0 
4 11 22 0 
5 28 0 11 

답변

1

. 루프를 시작하기 전에 completedata을 초기화하는 것이 좋습니다.

completedata = [(1:codemax)', zeros(codemax, n)]; 
+0

무엇이 codemax입니까? – Jessy

+0

'codemax = 5'에'code '에 들어갈 수있는 최대 숫자가 들어 있습니다. 미리 알지 못한다면 필요하지 않지만 성능에있어 병목 현상이 될 수있는 for-loop 내부에서'completedata'가 커지게됩니다. – groovingandi

+0

감사합니다. 내 문제가 해결되었습니다 :). .. – Jessy