MATLAB объединяет комбинацию строки переменной длины и вектора - PullRequest
0 голосов
/ 30 июля 2011

Многие близкие решения находятся в сети, но ничего точного ...

Я строю матрицу данных вектор за вектором:

OutputMatrix(NextSubject,:)=[OutputVector]

Мне нужно вести каждую строку симя данных, обрабатываемых в этом цикле.Имя имеет вид:

12345.dat

Таким образом, если OutputVector=[1 2 3 4], результат должен выглядеть следующим образом:

12345.dat 1 2 3 4

Я пробовал десятки решений, но несколько примеров:

{char(Filename(i).name) OutputVector}
{strcat((Filename(i).name) OutputVector)}
[Filname(i).name OutputVector]

Любая помощь?Пожалуйста:)

1 Ответ

0 голосов
/ 07 октября 2011

Вы не можете хранить строку и вектор в матрице. Тем не менее, вы можете сделать это в камере. Так что вы можете подумать:

   OutputCell(NextSubject,:) = { Filename(i).name  OutputVector };

Фигурные скобки означают, что вы храните объект как ячейку. Часто строки и числа лучше хранить отдельно. Что-то вроде:

   OutputMatrix = [];
   OutputFile = {};

   ...

   OutputMatrix(NextSubject,:) = OutputVector; 
   OutputFile{NextSubject} = Filename(i).name;

Тогда, если вы обращаетесь или выбираете строки из выходной матрицы, используйте тот же индекс для массива ячеек:

   foo(OutputMatrix(index,:), OutputFile(index))
...