当前位置: 首页> 教育> 就业 > 22、matlab锯齿波、三角波、方波:rectpuls()函数/sawtooth()函数/square()函数

22、matlab锯齿波、三角波、方波:rectpuls()函数/sawtooth()函数/square()函数

时间:2025/7/15 9:38:14来源:https://blog.csdn.net/XU157303764/article/details/139416179 浏览次数:0次

1、采样的非周期性矩形

语法

语法1:y = rectpuls(t) 返回一个以数组 t 中指示的采样时间采样的连续非周期性单位高度矩形脉冲,该矩形脉冲以 t = 0 为中心。
语法2:y = rectpuls(t,w) 生成一个宽度为 w 的矩形

参数 

t:采样时间    w:矩形宽度    y:矩阵脉冲

生成矩形脉冲并对其进行位移代码

代码

fs = 10e3;
t = -0.1:1/fs:0.1;
w = 20e-3;
x = rectpuls(t,w);
tp = -45e-3;
xp = rectpuls(t-tp,w);%向左平移tp时间
tf = 60e-3;
xfutr = rectpuls(t-tf,w/4);%向右平移tf 矩形宽度变为原来1/4 
plot(t,x,t,xp,t,xfutr)
ylim([-0.2 1.5])
legend('原始','左平移','右平移加缩放')

视图效果 

2、锯齿波或三角波sawtooth()函数

语法

语法1:x = sawtooth(t) 为时间数组 t 的元素生成周期为 2π 的锯齿波
语法2:x = sawtooth(t,xmax) 生成修正三角波,其每个周期的最大值位置由 xmax 控制。

参数

t:时间    xmax:波的最大值位置(介于 0 与 1 之间的标量)   x:锯齿波

1)50 Hz 锯齿波

代码

T = 10*(1/50);
fs = 1000;
t = 0:1/fs:T-1/fs;
x = sawtooth(2*pi*50*t);
plot(t,x)

 视图效果

 2)50 Hz 三角波

代码

T = 10*(1/50);
fs = 1000;
t = 0:1/fs:T-1/fs;
x = sawtooth(2*pi*50*t,1/2);
plot(t,x)

视图效果

3、方波square()

语法

语法1:x = square(t) 为时间数组 t 的元素生成周期为 2π 的方波。
语法2:x = square(t,duty) 生成占空比为 duty 的方波 

 参数

t:时间    duty:占空比    x:方波信号

1)生成方波

代码

t = linspace(0,8*pi)';
x = square(t);
plot(t,x,'-p')
xlabel('时间')
ylabel('幅值')

视图效果

 2)方波的占空比

代码

t = 0:1/1e3:1;
y = square(2*pi*30*t,20);
dutycycle(y,t);%占空比添加

视图效果

 

 

关键字:22、matlab锯齿波、三角波、方波:rectpuls()函数/sawtooth()函数/square()函数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: