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个文件。每个文件都通过循环读取。我如何得到如下所示的输出?
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
答案 0 :(得分:1)
而不是
inputdata=[code score];
sortdata = sortrows(inputdata,1);
使用
completedata(code, n+1) = score;
这样您就可以使用code
作为最终数组的索引。在循环之前初始化completedata
可能是个好主意。
completedata = [(1:codemax)', zeros(codemax, n)];