fopen | fileID = fopen(filename, permission) 1,fileID是文件标识符,可以简单看作fopen函数打开的这个文件的代称 2,filename是要打开的文件名,完整地应该是应该文件地址,按matlab文件地址格式来即可 3,permission是打开文件的方式,该项不填默认'r',打开要读取的文件。另有'w'是清空原有内容,重新对文件写入内容,'a'在文件末尾追加写入内容,'r+''w+''a+'加号表示文件不仅可写还可读 |
fclose | fclose(fileID) 关闭一个文件。fileID是一个整数的文件标识符,来自fopen。 |
fclose('all') 关闭所有打开的文件。 | |
status = fclose(...) 得到的status是关闭状态。0关闭成功,-1关闭失败。 ...可能代指上面两种情况。 | |
fprintf 将数据写入text文本 | fprintf(fileID, formatSpec,A1,...,An) formatSpec这里就是‘%d’一类的东西。 最后一项是需要写入的数据,这里A1-An的写法是数组。 |
nbytes = fprintf(__) nbytes是返回的所写字节数。 |
实例:
% -------------打印参数---------------------------------
filelocation = '文件地址,例如D:\wenjianjia\wenjian.txt';
fp = fopen(filelocation,'a');
if(fp == 0)
printf('\n open file error');
end
fprintf(fp,'\n\n//------%s------',date);
fprintf(fp,'\n//------Option: %d,------frames: %d,------Freq Offset: %d,------SIG: ',Opt,total_number,Freq_offset);
fprintf(fp,'%d',SIG_data);
fprintf(fp,'\n//------PSDU_Pbsize: %d,------iter numbers: %d,------Noise Type: AWGN ',PSDU_pbsize,iter_num);
fprintf(fp,'\nSNR = [');
for fi_snr=minvaule : deltaSNR : maxvaule
fprintf(fp, '%f ',fi_snr);
end
fprintf(fp,'];\nerr_PSDU = [');
fclose(fp);
% -------------打印本次snr下的err-------------------------
fp = fopen(filelocation,'a');
fprintf(fp,'%e ',err_PSDU(n)/total_number);
fclose(fp);
% -------------打印---------------------------------------
fp = fopen(filelocation,'a');
fprintf(fp,'];\nerr_PHR = [');
for i_snr=1:N
fprintf(fp,'%e ',err_PHR(i_snr));
end
fprintf(fp,'];\nerr_SIG = [');
for i_snr=1:N
fprintf(fp,'%e ',err_SIG(i_snr));
end
fprintf(fp,'];\nCFO = [');
for i_snr=1:N
fprintf(fp,'%e ',MSE_CFO(i_snr));
end
fprintf(fp,'];\nerr_channelPSDU = [');
for i_snr=1:N
fprintf(fp,'%e ',err_channel_PSDU(i_snr));
end
fprintf(fp,'];\nerr_channelPSDUK = [');
for i_snr=1:N
fprintf(fp,'%e ',err_channel_PHR(i_snr));
end
fprintf(fp,'];\n------历时 %s秒',toc);
fclose(fp);