MATLAB: How can you rearrenge a large datafile to….

loadingmatrixrearrengetext file

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…

Best Answer

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)