Не работает импорт чисел из текстового файла - PullRequest
0 голосов
/ 03 октября 2018

У меня есть огромный файл, подобный этому:

10, -247,16,0.465829, -11.505979,0.745327,0.000372, -249.809357,0.000596,6.662333,27.868153,0.000000,0.000000;8, -246,16,2.600302, -66.482079,4.309549,0.003487, -249.589752,0.005758,31.830967,38.629253,0.000000,0.000000;11, -247,13,6.514969, -170.550919,10.922515,0.013875, -249.463654,0.023174,60.247765,46.340561,0.000000,0.000000;

Я хочу выбрать первый номер каждой строки и сохранитьэто как вектор, и так далее со вторым номером каждой строки и третьей.

Мой код такой:

delimiter = ',';

    ..... sprintf('%s%s_%d.txt',fullDataPath(j,:),soggetti(j,:),s);
                   if exist(filename, 'file') 
                        disp(filename)
                        fid = fopen(filename);
                        fileAllData = importdata(filename, delimiter);
                        fileData = fileAllData.data(:,1:3);
                         x = fileData(:,1);
                         y = fileData(:,2);
                         z = fileData(:,3);
                        fclose(fid);
                        ........
                   else 
                        ..........
                   end
              ...........

Ошибка такая:

Ссылка на структуру содержимого из неструктурного объекта массива.

Я искал похожую ошибку в Интернете, но я не понимаю, как я могу исправить свой код в этом случае и почему у меня естьэта ошибка.

1 Ответ

0 голосов
/ 03 октября 2018

Ошибка в этой строке:

fileData = fileAllData.data(:,1:3);

Индексирование точек означает структуру, но поскольку ваш файл содержит только цифры, importdata не предоставляет вам структуру с text и data, но только с data, что означает, что вы должны просто индексировать его как обычно:

fileData = fileAllData(:,1:3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...