
哪位高手帮我看看下面这段MATLAB程序,帮我解析一下是什么意思
R='J:\B\za\rain.txt';fid=fopen(R,'r');Sta=fscanf(fid,'%s\n',1);nn=fscanf(fid,'%d\n',1...
R='J:\B\za\rain.txt';
fid=fopen(R,'r');
Sta=fscanf(fid,'%s\n',1);
nn=fscanf(fid,'%d\n',1);
for i=1:nn
sta(i).s=fscanf(fid,'%s',1);
zm(i).s=fscanf(fid,'%s\n',1);
mm(i)=fscanf(fid,'%d\n',1);
Y(i).y=fscanf(fid,'%f\n',mm(i));
end
fclose(fid);
display('No. of Stations =');
disp(nn);
n0=1; 展开
fid=fopen(R,'r');
Sta=fscanf(fid,'%s\n',1);
nn=fscanf(fid,'%d\n',1);
for i=1:nn
sta(i).s=fscanf(fid,'%s',1);
zm(i).s=fscanf(fid,'%s\n',1);
mm(i)=fscanf(fid,'%d\n',1);
Y(i).y=fscanf(fid,'%f\n',mm(i));
end
fclose(fid);
display('No. of Stations =');
disp(nn);
n0=1; 展开
展开全部
R='J:\B\za\rain.txt';//文件名
fid=fopen(R,'r'); //打开文件
Sta=fscanf(fid,'%s\n',1);//把目标文件内容第一个字符按'%s\n'格式存入Sta中
nn=fscanf(fid,'%d\n',1); //第二个字符按'%d\n'存入nn中,估计是数据长度
//估计以上是文件头信息
for i=1:nn //主要数据读入
sta(i).s=fscanf(fid,'%s',1);
zm(i).s=fscanf(fid,'%s\n',1); //之所以要加\n 是想存成列向量,下同
mm(i)=fscanf(fid,'%d\n',1); //像是Y(i).y的长度
Y(i).y=fscanf(fid,'%f\n',mm(i)); //此处mm(i)是一次存的数据长度
end
fclose(fid); //关文件
display('No. of Stations ='); //显示此字符串
disp(nn); //显示数据总长度
n0=1;//不知道是什么,没用到
没有文件格式,只有猜了
fid=fopen(R,'r'); //打开文件
Sta=fscanf(fid,'%s\n',1);//把目标文件内容第一个字符按'%s\n'格式存入Sta中
nn=fscanf(fid,'%d\n',1); //第二个字符按'%d\n'存入nn中,估计是数据长度
//估计以上是文件头信息
for i=1:nn //主要数据读入
sta(i).s=fscanf(fid,'%s',1);
zm(i).s=fscanf(fid,'%s\n',1); //之所以要加\n 是想存成列向量,下同
mm(i)=fscanf(fid,'%d\n',1); //像是Y(i).y的长度
Y(i).y=fscanf(fid,'%f\n',mm(i)); //此处mm(i)是一次存的数据长度
end
fclose(fid); //关文件
display('No. of Stations ='); //显示此字符串
disp(nn); //显示数据总长度
n0=1;//不知道是什么,没用到
没有文件格式,只有猜了
展开全部
fid=fopen(R,'r'); % 打开R对应的文件
Sta=fscanf(fid,'%s\n',1);%读取文件内容,读取一个字符串
nn=fscanf(fid,'%d\n',1); %读取一个整数,得到循环的次数
for i=1:nn
sta(i).s=fscanf(fid,'%s',1); %读字符串
zm(i).s=fscanf(fid,'%s\n',1); %读字符串
mm(i)=fscanf(fid,'%d\n',1); %读整数
Y(i).y=fscanf(fid,'%f\n',mm(i)); %读浮点数,位数由mm(i)确定
end
fclose(fid); %关闭文件
display('No. of Stations ='); %显示
disp(nn); %显示读入的数据记录数目
Sta=fscanf(fid,'%s\n',1);%读取文件内容,读取一个字符串
nn=fscanf(fid,'%d\n',1); %读取一个整数,得到循环的次数
for i=1:nn
sta(i).s=fscanf(fid,'%s',1); %读字符串
zm(i).s=fscanf(fid,'%s\n',1); %读字符串
mm(i)=fscanf(fid,'%d\n',1); %读整数
Y(i).y=fscanf(fid,'%f\n',mm(i)); %读浮点数,位数由mm(i)确定
end
fclose(fid); %关闭文件
display('No. of Stations ='); %显示
disp(nn); %显示读入的数据记录数目
更多追问追答
追问
很感谢你详细的解读 但是为什么运行会有这个错误呢
In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> PIII at 16
mm(i)=fscanf(fid,'%d\n',1);
追答
试试mm(i)=fscanf(fid,'%d',1);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取文件。
详细信息,你就参阅matlab帮助文件吧。打开帮助,然后搜索fscanf。
详细信息,你就参阅matlab帮助文件吧。打开帮助,然后搜索fscanf。
追问
可是运行的时候这一段会出现这个错误
In an assignment A(I) = B, the number of elements in B and
I must be the same.
Error in ==> PIII at 16
mm(i)=fscanf(fid,'%d\n',1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
牛人真多
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询