matlab 生成正弦波

理论知识:
在这里插入图片描述

由上述的公式可知,在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
在这里插入图片描述

在这里插入图片描述
如果想更改初相位,可以使用如下代码

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
在这里插入图片描述

在这里插入图片描述
补充
针对一些网友反应的问题,这里再说明,如果你要生成的正弦波的频率很高,比如 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;%开启网格线

在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值