视频
拓展学习
例1 文件“观测记录.txt”的内容如图所示,读取文件前10行的数据。
fid=fopen('观测记录.txt','r');
title=fscanf(fid,'%s',6);
qxsj=[];
for i=1:10
qxsj{i,1}=fscanf(fid,'%s',1);
qxsj{i,2}=fscanf(fid,'%s',1);
qxsj{i,3}=fscanf(fid,'%f',1);
qxsj{i,4}=fscanf(fid,'%f',1);
qxsj{i,5}=fscanf(fid,'%f',1);
qxsj{i,6}=fscanf(fid,'%s',1);
end
fclose(fid);
例2 计算y=exp(x)sinx,其中x∈[0,2π]。将x、y写入二进制文件“模拟数据.dat”。
fid=fopen('模拟数据.dat','w');
x=linspace(0,2*pi,100);
y=exp(x).*sin(x);
count=fwrite(fid, [x; y], 'double');
fclose(fid);
例3 读取例2生成的文件中的后40组数据,并绘制图形。
fid=fopen('模拟数据.dat','r');
status=fseek(fid, -40*2*8, 'eof');
x=[]; y=[];
while ~feof(fid)
x=[x; fread(fid,1,'double')];
y=[y; fread(fid,1,'double')];
end
plot(x,y);
fclose(fid);

