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