t = linspace(0,1,12000);%t控制产生的正弦一共有多少个点。linspace:这个函数是用来产生从0~1的数据,个数为12000个。
f = 5 ;%f表示频率,控制在t个点内,产生多少个正弦数据
A1= 1 ;%振幅,产生数据的大小倍数
w = 2*pi*f ;%w=2*pi*f 角频率公式
%产生范围从-1~1的正弦
y = A1*sin(w*t) ;%将正弦值存放到y中。
plot(y) ;%将y的结果绘制出来
%产生范围从0~2的正弦
y_pos = A1*(sin(w*t)+1) ;%这里的+1保证正弦的范围是从0~1的保证没有了负数。
plot(y_dec) ;%
%产生数据范围从0~200的正弦,且是整数
A2=100 ;%将数据在原有的基础上乘以100.
y_int = round(A2*(sin(w*t)+1));%round:四舍五入函数
plot(y_int);%
%将产生的正弦数据导出当当前工作路径下的sin_data_output.txt文档中
fileID = fopen('sin_data_output.txt', 'w');%首先打开一个.txt文档,如果没有就会在当前工作路径下新建一个txt文档。
fprintf(fileID, '%d\n', y_int) ;%然后将要写入的数据使用printf函数写入进去,写入进去的方式跟printf函数类似。'%d' 表示按整数格式写入
fclose(fileID) ;%写完之后关闭打开的文档
使用MATLAB产生固定点数、固定周期个数、非负数、整数的正弦数据
最新推荐文章于 2024-08-26 08:43:40 发布