Code covered by the BSD License  

Highlights from
write_ascii

from write_ascii by Jacob
simple and elegant matlab function to quickly write large matrices to an ascii file.

write_ascii(filename,data,delimiter,format)
function write_ascii(filename,data,delimiter,format)
% writes ascii file using matlab functions

% inputs:
% filename: output filename absolute or relative
% data: matrix to output
% format: spacing and precision format to write to (defaults to 9.3f
% delimiter: delimiter for writing (defaults to tab)

if nargin<4, format = '%9.3f';end
if nargin<3, delimiter = '\t';end
nCols = size(data,2);
% format as string
data = sprintf([format delimiter],data')';
% convert to ascii numbers
data = uint8(data);
% add line feeds at end of each row
delLocations = find(data==double(sprintf(delimiter)));
feedLocations = delLocations(nCols:nCols:end);
data(feedLocations) = 10;
% write/append to file (at means carraige return is added in write)
fid = fopen(filename,'at');
fwrite(fid,data,'char*1');
fclose(fid);
end

Contact us