matlab 生成正弦波

理论知识:
matlab 生成正弦波_第1张图片

由上述的公式可知,在matlab中如果要生成频率为 f 的正弦波信号可以用如下代码:

t=0:0.0005:1;%定义一个数组[0, 0.0005, 0.001, 0.0015, 0.002,...,0.9995, 1.000], 代表生成的横坐标,其中的 0.0005代表横坐标的间隔,越小,代表横坐标越密集
f=sin(2*pi* f *t);
plot(t,f,'r','LineWidth',3);
grid on;%开启网格线

假设频率为5
matlab 生成正弦波_第2张图片

matlab 生成正弦波_第3张图片
如果想更改初相位,可以使用如下代码

t=0:0.0005:1;%定义一个数组[0, 0.0005, 0.001, 0.0015, 0.002,...,0.9995, 1.000], 代表生成的横坐标,其中的 0.0005代表横坐标的间隔,越小,代表横坐标越密集
f=sin(2*pi* f *t+a);
plot(t,f,'r','LineWidth',3);
grid on;%开启网格线

假设频率为5,初相位为 pi/2
matlab 生成正弦波_第4张图片

matlab 生成正弦波_第5张图片
补充
针对一些网友反应的问题,这里再说明,如果你要生成的正弦波的频率很高,比如 100 Hz 以上,那么如果只是更改上面代码中的频率为100,那生成出来的图形会是全红色,原因是在横坐标[0, 1]内的波形太过密集,而且 LineWidth 过大造成的。
所以,对于高频的正弦波形的生成和显示,你需要按照下面几个步骤生成:

  1. 修改横坐标的间隔,原来是 0.0005 ,现在你需要把它降低,比如降低到 0.00000001,这个间隔已经足够小
  2. 修改横坐标的上限,原来是1,对于高频正弦波来说太大了,现在修改为 0.01
  3. 修改频率,比如修改频率为 1500, f=sin(2pi 1500 *t);
  4. 修改线的宽度,原来的 ‘LineWidth’ 为 3 ,现在可以把它设置为 1

下面是生成频率为 1500Hz 的正弦波的代码

t=0:0.00000001:0.01;%定义一个数组[0, 0.00000001, 0.00000002, 0.00000003, ...,0.00999999, 0.01]
f=sin(2*pi* 1500 *t);% 频率为 1500 Hz
plot(t,f,'r','LineWidth',1);%横坐标数据为 t,对应的纵坐标数据为 f,波形的颜色为 red,波形线条的宽度为 1
grid on;%开启网格线

matlab 生成正弦波_第6张图片

你可能感兴趣的:(matlab数字信号处理,matlab,矩阵,开发语言)