三角函数与矩形窗相乘代码
时间: 2024-03-23 11:37:49 浏览: 174
MATLAB基于窗函数设计的带通滤波器.docx
5星 · 资源好评率100%
下面是Matlab中将三角函数与矩形窗进行点乘的代码:
```matlab
% 生成一个周期为T的三角波
T = 2*pi;
t = linspace(0, T, 1000);
triangle_wave = sawtooth(t, 0.5);
% 生成一个长度为N的矩形窗
N = length(triangle_wave);
rect_window = rectwin(N);
% 将三角波与矩形窗进行点乘
product = triangle_wave .* rect_window;
% 绘制三角波、矩形窗和点乘结果
subplot(3,1,1);
plot(t, triangle_wave);
xlabel('Time');
ylabel('Amplitude');
title('Triangle Wave');
subplot(3,1,2);
plot(t, rect_window);
xlabel('Time');
ylabel('Amplitude');
title('Rectangular Window');
subplot(3,1,3);
plot(t, product);
xlabel('Time');
ylabel('Amplitude');
title('Triangle Wave x Rectangular Window');
```
运行以上代码,将会绘制出三角波、矩形窗以及两者点乘的结果。其中,三角波在[-pi, pi]范围内为上升斜坡,[pi, 2pi]范围内为下降斜坡,其余部分为零;矩形窗在[-pi, pi]范围内为1,其余部分为零;点乘的结果就是将三角波的上升斜坡和下降斜坡部分分别截取,并用矩形窗进行补零,得到的结果为一段平滑的连续波形。
阅读全文