fscanf
read data from txt
matlab中fscanf函数函数的三种形式为:
l A=fscanf(fid,format)
l [A, count]=fscanf(fid,format,size)
l [A, count]=fscanf(fid,format,size)
fscanf将文本中的数据按format规定的格式读出,并以列的顺序存入A(注意是以列的顺序,也就是先存储A的第一列,然后第二列.......,首先需要用fopen函数打开文件,获得文件句柄fid.具体用法:
x = 0:.1:1;
y = [x; exp(x)];
fid = fopen('exp.txt', 'w');
fprintf(fid, '%6.2f %12.8f\n', y);
fclose(fid);
fid = fopen('exp.txt', 'w');
fprintf(fid, '%6.2f %12.8f\n', y);
fclose(fid);
%此时exp.txt中的数据为:
% 0.00 1.00000000
% 0.10 1.10517092
% 0.20 1.22140276
% 0.30 1.34985881
% 0.40 1.49182470
% 0.50 1.64872127
% 0.60 1.82211880
% 0.70 2.01375271
% 0.80 2.22554093
% 0.90 2.45960311
% 1.00 2.71828183
% Read the data, filling A in column order
% First line of the file:
% 0.00 1.00000000
fid = fopen('exp.txt');
A = fscanf(fid, '%g %g', [2 inf]);%inf表示读到文件的末尾
fclose(fid);
% 0.00 1.00000000
% 0.10 1.10517092
% 0.20 1.22140276
% 0.30 1.34985881
% 0.40 1.49182470
% 0.50 1.64872127
% 0.60 1.82211880
% 0.70 2.01375271
% 0.80 2.22554093
% 0.90 2.45960311
% 1.00 2.71828183
% Read the data, filling A in column order
% First line of the file:
% 0.00 1.00000000
fid = fopen('exp.txt');
A = fscanf(fid, '%g %g', [2 inf]);%inf表示读到文件的末尾
fclose(fid);
%这时A中的数据为: