使用MATLAB编程来绘制一个脉宽为4个单位周期的矩形波(门函数)y(t)=g(t)和y(2t)的图形的代码?
时间: 2024-12-23 12:15:39 浏览: 19
在MATLAB中,你可以使用`rectpuls`函数来创建一个矩形波,然后结合时间轴`t`来绘制。首先,我们需要定义一个时间范围,比如从0到8(因为矩形波的宽度为4个周期),然后计算相应的门函数值。这里是一个简单的示例代码:
```matlab
% 定义时间范围和采样率
t = 0:0.001:8; % 时间向量,每个点间隔0.001秒,总长度为8秒 (4周期)
fs = 1000; % 采样频率
% 创建矩形波
pulse_width = 4; % 脉冲宽度 (周期数)
period = 1 / fs; % 单个周期的长度
pulse = rectpuls(t, pulse_width * period); % 矩形波函数,宽度为4周期
% 绘制原始矩形波y(t)
figure;
plot(t, pulse, 'b', 'LineWidth', 1.5);
xlabel('Time (s)');
ylabel('Amplitude');
title('Rectangular Wave (Original Pulse)');
% 绘制缩放后的y(2t)
zoomed_pulse = pulse(1:length(t)/2);
figure;
plot(t(1:length(t)/2), zoomed_pulse, 'r', 'LineWidth', 1.5);
xlabel('Time (s)');
ylabel('Amplitude');
title('Rectangular Wave (Zoomed to Half Period)');
% 显示图形
```
这个代码会生成两幅图,第一幅是原始的矩形波,第二幅则是y(2t),即时间轴缩短一半后的波形。
阅读全文