2016-11-10 3 views
0

Я хотел бы прочитать файлы, содержащие числа в каждой строке. Вот пример Формат-Чтение строки, разделенной запятой и вкладкой

0,0,0 1 0 0 0 
0.02,0.1,0.98 8.77 0.985292 0.112348 0.112348 
0.04,0.2,1.96 8.77 0.985292 0.112348 0.224696 

Как и выше, показанного, первые три числа разделяются запятыми, после того, что все остальные цифры разделены вкладки в строке. В результате невозможно использовать dlmread или textscan. Есть ли способ решить эту проблему? Благодаря!

+0

Вы можете использовать fscanf, как описано в этой ссылке [] (https://in.mathworks.com/help/matlab/ref/fscanf.html). В 'fscanf' вы можете указать формат файла. –

ответ

2

Да, вы должны добавить два параметра в функции:

Delimiter %choose the delimiter

и

MultipleDelimsAsOne %Treat Repeated Delimiters as One

Вариант 1:

Малый "трюк" вы можете выбрать более чем один разделитель, если вы укажете структуру как вход: {',',' '}.

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',',' '},'MultipleDelimsAsOne',1); 

Вариант 2: (который должен работать)

На этот раз я не использую MultipleDelimsAsOne но точные, что разделитель может быть запятой или вкладки (с \ т).

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',','\t'}); 
Смежные вопросы