I need to load only part of a file
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I need MATLAB to load a file but the file is not a uniform matrix of number. I am using the function in matlab: load('file_name.txt'); So for example the file opens as:
46
Graphene-Cs
C 3.069663 1.451149 9.855179
C 1.828334 2.119961 9.393412
C 1.786922 3.540219 9.865837
C 0.586064 4.305576 9.363573
C 0.589753 5.714887 9.934629
C 3.115297 0.068234 9.349019
C 5.495670 1.480486 9.955026
C 4.286234 2.221273 9.447150
C 4.255019 3.612844 9.937289
C 3.019751 4.340426 9.478676
C 3.007670 5.775853 9.955533
But I need it to load the following into matlab:
3.069663 1.451149 9.855179
1.828334 2.119961 9.393412
1.786922 3.540219 9.865837
0.586064 4.305576 9.363570
0.589753 5.714887 9.934629
3.115297 0.068234 9.349019
5.495670 1.480486 9.955026
4.286234 2.221273 9.447150
4.255019 3.612844 9.937289
I am thus receiving the error:
Error using load Number of columns on line 3 of ASCII file C:\Documents\file_name.txt must be the same as previous lines.
Error in get_diff (line 9) load('file_name.txt');
Can anyone help me with this?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 6 Jun. 2013
fid = fopen('file_name.txt', 'rt');
datacell = textscan(fid, '%*s%g%g%g', 'HeaderLines', 2, 'Collect', 1);
fclose(fid);
YourData = datacell{1};
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Large Files and Big Data finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!