Matlab结合矩阵

时间:2010-07-04 17:15:17

标签: matlab matrix

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

1 个答案:

答案 0 :(得分:1)

而不是

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

使用

completedata(code, n+1) = score;

这样您就可以使用code作为最终数组的索引。在循环之前初始化completedata可能是个好主意。

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