纯数据txt文件,直接load就可以了。
写了个简单的例子,先写了8个文件,每个文件中存取1000*3的随机数。
然后读取这8个文件,将每个文件中的第三列存到矩阵A中。
function batchWriteReadTxt
% 文件数
TxtFileNum = 8;
% 写数据文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 以写方式创建文件
fid = fopen( FileName, 'w' );
% 如果创建文件成功
if fid > 0
% 生成随机数
A = rand( 1000, 3 ); % 1000行,3列
% 写数据
fprintf( fid, '%10.4f, %10.4f, %10.4f\r\n', A );
% 关闭文件
fclose( fid );
end
end
% 初始化数据,将每个文件中的第三列存为1列,1000行
A = zeros( 1000, TxtFileNum );
% 读文件
for i = 1 : TxtFileNum
% 构造文件名字符串
FileName = sprintf( '%s.txt', num2str( i ) );
% 纯数据文件,直接load就可以
data = load( FileName );
A( :, i ) = data( :, 3 );
end
使用dlmwrite(filename, M, 'D'),将数据M写到文件dlmwrite(filename, M, 'D'),以’D’为分隔
filename=fullfile('E:\work\matlab\final\',file(j).name);
dlmwrite(filename, b, '\t');