How can you rearrenge a large datafile to....

1 view (last 30 days)
Hi guys
I have a large .txt file witch I load in matlab (x,y,z coordinates for a ship), but the point is I will use matlab to generete the point so it is an input into another software. The other sofware can't handle all the points in the .txt file, so I need to have a code who can rearrenge the .txt file into a smaller one. Otherwise it is very time consuming doing manually. I'm thinking something like take the every 50. set of x,y,z and make a new matrix.
Hope you understand my issue...

Accepted Answer

Ingrid
Ingrid on 7 May 2015
instead of using load, you could use textscan to read in the txt file
endNotReached = true;
counter = 1;
fid = fopen(stringTextLocation);
while endNotReached
rawData = textscan(fid,'%f%f%f', 50);
if size(rawData,1) < 50
endNotReached = false;
end
fidWrite = fopen(['data' num2str(counter) '.txt'],'w');
fprintf(fidWrite,'%f%f%f\n',rawData);
fclose(fidWrite)
counter = counter + 1;
end
fclose(fid)

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!