您的位置:首页 > 编程语言 > MATLAB

【matlab】【数据转换工具】以列、行、矩阵形式导出dat数据文件

2017-07-24 20:52 405 查看
/*-------------------------------------分割线------------------------------------------------*/
以列导出
% 创建文件sine.dat,可写入
fid=fopen('sine.dat','w');
% 将文件头写入文件,将生成的y信号写入到文件,格式四位小数 fprintf(fid,'1651 4 0 1 0\n');fprintf(fid,'%.4f\n',y); % 将文件头写入文件,将生成的y信号写入到文件,格式十六进制,负数用补码 fprintf(fid,'1651 1 0 1 0\n'); fprintf(fid,'0x%x\n', round(y*100) + (y<0)*2^16);
fclose(fid);
以行导出
% 创建文件sine.dat,可写入
fid=fopen('sine.dat','w');
% 将文件头写入文件,将生成的y信号写入到文件,格式四位小数 fprintf(fid,'1651 4 0 1 0\n');
fprintf(fid,'%.4f\n',y);
% 将文件头写入文件,将生成的y信号写入到文件,格式十六进制,负数用补码
fprintf(fid,'1651 1 0 1 0\n');
fprintf(fid,'0x%x\t', round(y*100) + (y<0)*2^16);
fclose(fid);
% 创建文件SshapeData_Input.dat,可写入
fid = fopen('SshapeData_Input.dat','w');
% 将文件头写入文件,将生成的S干扰性波束数据写入到文件,格式15位小数
% fprintf(fid,'1651 4 0 1 0\n');
[m,n] = size(normEdB); %input_matrix为待输出矩阵
for i = 1:m
for j = 1:n
if j == n
fprintf(fid,'%.15f\n',normEdB(i,j)); //一行结束就换行
else
fprintf(fid,'%.15f\t',normEdB(i,j)); //未满一行就空一格
end
end
end
fclose(fid);
%% fopen(filename,permission)函数作用:
%{
用指定的方式打开文件,”permission”是打开方式参数。由以下字符串确定:
r 读出
w 写入(文件若不存在,自动创建)
a 后续写入(文件若不存在,自动创建)
r+ 读出和写入(文件应已存在)
w+ 重新写入(文件若不存在,自动创建)
a+ 后续写入(文件若不存在,自动创建)
w 重新写入,但不自动刷新
%}

%% fprintf函数
%{
fprintf函数可以将数据按指定格式写入到文本文件中。
其调用格式为:fprintf(fid, format, variables)按指定的格式将变量的值输出到屏幕或指定文件,
fid: 文件句柄,若缺省,则输出到屏幕,
format: 用来指定数据输出时采用的格式

%d 整数
%e 实数:科学计算法形式
%f 实数:小数形式
%g 由系统自动选取上述两种格式之一
%s 输出字符串

fprintf(fid,format,A)

说明:fid :文件句柄,指定要写入数据的文件;
format:用来控制所写数据格式的格式符,与fscanf函数相同;
A :用来存放数据的矩阵。
%}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: