Как читать данные из файла, следуя определенному синтаксису в MATLAB - PullRequest
0 голосов
/ 27 ноября 2011

Как мне прочитать следующие данные в матрицах MATLAB.Эти следующие данные хранятся в файле.

5.1,3.5,1.4,0.2,Point1
4.9,3.0,1.4,0.2,Point2
4.7,3.2,1.3,0.2,Point3
4.6,3.1,1.5,0.2,Point4
5.0,3.6,1.4,0.2,Point5
5.4,3.9,1.7,0.4,Point6
4.6,3.4,1.4,0.3,Point7
5.0,3.4,1.5,0.2,Point8
4.4,2.9,1.4,0.2,Point9
4.9,3.1,1.5,0.1,Point10
5.4,3.7,1.5,0.2,Point11
4.8,3.4,1.6,0.2,Point12

Его четыре числа с плавающей точкой, разделенные запятыми и сопровождаемые строкой.

Я пытался использовать следующий код, но он не выглядитдля правильной работы.

fid = fopen("file.txt", 'r');

Я хочу получить четыре значения с плавающей точкой в ​​каждой строке в матрицу numberoflines * 4 и строку в каждой строке в массив строк.

fid = fopen('iris.data');

tline = fgetl(fid);
while ischar(tline)
    disp(tline)
    tline = fgetl(fid);
    scanf(tline,'%f,%f,%f,%f,%15c');
end

fclose(fid);

Я новичок в Matlab, и я делаю что-то очень неправильное, поэтому, пожалуйста, потерпите меня.

Спасибо, Сагар.

1 Ответ

2 голосов
/ 27 ноября 2011

попробуйте эту строку:

vec = sscanf( tline( 1:end ), '%f,%f,%f,%f,%*s' )

должно работать, с уважением

...