用MATLAB生成DAT文件
f1=10;f2=100;fs=400;N=400;
x = linspace(0,N/fs,N);
y1 = sin(2*pi*f1*x);
y2 = sin(2*pi*f2*x);
y=y1+y2;
figure
plot(x,y)
%创建文件sine.dat,可写入
fid=fopen('sine.dat','w');
%将文件头写入文件,将生成的y信号写入到文件,格式四位小数
fprintf(fid,'1651 4 0 1 0\n');
fprintf(fid,'%.4f\n',y);
%将文件头写入文件,将生成的y信号写入到文件,格式十六进制,负数用补码
fprintf(fid,linspace函数调用的格式为'1651 1 0 1 0\n');
fprintf(fid,'0x%x\n', round(y*100) + (y<0)*2^16);
设置两个叠加信号的频率分别为10hz,100hz,采样频率400hz,采样点数400,采样时间1S。
linspace(x1,x2,N)用法:linspace是Matlab中的一个指令,用于产生x1,x2之间的N点行矢量。其中x1、x2、N分别为起始值、终止值、元素个数。若缺省N,默认点数为100。在matlab的命令窗口下输入help linspace或者doc linspace可以获得该函数的帮助信息。
y1,y2为频率不同的两个正弦信号,y=y1+y2为叠加后信号。Plot画图显示信号y。
fopen(filename,permission)函数作用:
用指定的方式打开文件,”permission”是打开方式参数。由以下字符串确定:
r 读出
w 写入(文件若不存在,自动创建)
a 后续写入(文件若不存在,自动创建)
r+ 读出和写入(文件应已存在)
w+ 重新写入(文件若不存在,自动创建)
a+ 后续写入(文件若不存在,自动创建)
w 重新写入,但不自动刷新
文件打开的默认方式是:二进制。以文本方式打开,可在方式参数“permission”中加入“t”,如“rt”,“wt”。
fprintf函数
fprintf函数可以将数据按指定格式写入到文本文件中。其调用格式为:
数据的格式化输出:fprintf(fid, format, variables),按指定的格式将变量的值输出到屏幕或指定文件,fid为文件句柄,若缺省,则输出到屏幕,format用来指定数据输出时采用的格式
%d 整数
%e 实数:科学计算法形式
%f 实数:小数形式
%g 由系统自动选取上述两种格式之一
%s 输出字符串
fprintf(fid,format,A)
说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论