Matlab объединить матрицу - PullRequest
0 голосов
/ 04 июля 2010
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

Этот вопрос относится к Как объединить неравномерные матрицы в одну матрицу? , но немного по-другомуЯ хочу объединить 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 Ответ

1 голос
/ 04 июля 2010

вместо

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

использование

completedata(code, n+1) = score;

Таким образом, вы используете code в качестве индекса вашего окончательного массива. Инициализация completedata перед циклом, вероятно, будет хорошей идеей.

completedata = [(1:codemax)', zeros(codemax, n)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...