First just some "tricks" on writing formatting strings --
format1='%*f %*f %f %f %f %f/%f/%f %f ';
if i>=1 && i<=44
format1=[format1 '%*f '];
format1=[format1 '%f '];
Can be written as
fmt1=[repmat('%*f',1,2) repmat('%f',1,3) '%f/%f/%f %f' ...
repmat is extremely useful for the repeat counts instead of having to try to count manually or use loops and building piecemeal...not your problem but a useful thing to see...
While on the subject of format strings, the format '%2.6f' and similar probably isn't doing what you want. The .6 will place 6 digits after the decimal but the width of '2' isn't doing anything since it's less than the number of precision digits. If you're trying to align numeric values, then you need a width that's at least 6+decimal+sign+space for the column.
And, you can use the output of functions as input to succeeding ones in Matlab so
could be written simply as
eliminating the superfluous cell array. (I've wished for and requested enhancement that textscan would allow a direct return of data arrays instead of cells where not needed but no joy so far...)
To divide columns by the first you just use the "dot" operator for element-by-element as
I've used 8:end as shorthand for the columns beginning in column 8. However, which columns you actually want of the 2055 that you say are in the files are dependent upon those which you didn't actually read by use of the '%*f' field string. I didn't try to count and keep that straight to figure out "who's who in the zoo" in memory compared to the file; you probably already know that knowing what you want and don't.
It could possibly be simpler to just read the whole file including columns you don't want instead of the complex format strings and then just delete the unwanted columns by an operation such as
etc., etc., ...
In that case your fmt statement could probably simply be
fmt1=[repmat('%f',1,5) '%f/%f/%f repmat('
I'm assuming your count of 2055 includes the date column as one, not three. Depending on the file size this might be a noticeable speedup (or perhaps not :) )...