在 MATLAB 中生成矩形脉冲
Generate a Rectangular Pulse in MATLAB
我需要创建一个 width = 7
和范围 (-T/2, T/2)
的矩形脉冲,其中 T
59 毫秒。
我写了这段代码,但我不确定它是否正确。
w = 7;
T = 59;
t = -T/2:1:T/2;
rect = rectpuls(t, w);
plot(t, rect);
此代码生成一个矩形脉冲,但我不确定它是否正确。另外,我不太确定 t = -T/2:1:T/2;
是什么意思。我的意思是范围是从 -29.5 到 29.5,步长为 1。当我将其设置为 0.1 或 0.01 时,我的脉搏更好。为什么这会影响我的输出?
请注意,我要做的第二件事是创建一个周期性的时钟脉冲序列。我不知道这是否会影响我必须实现初始矩形脉冲的方式。
当您增加数值函数(例如 Matlab rectpuls
)在其连续离散化过程中使用的增量数时,您将得到的结果是所述函数的准确性将会提高,以增加计算成本为代价(在这种情况下,可以忽略不计)。当您离散化使用较小的 time-steps,从 1
到 0.1
再到 0.01
.
时,您正是这样做的
要创建相同矩形脉冲的周期序列,您可以在循环中调用该函数:
w = 7;
T = 59;
t = -T/2:1:T/2;
t_size = size(t);
N = 10;
rect = zeros(N, t_size(2));
interval = 20;
figure
plot(t, rectpuls(t, w));
xlim([-20 (N + 1)*interval]);
ylim([0 1.1]);
hold on
for i = 1:N
t = (-T/2 + i*interval): 1 :(T/2 + i*interval);
rect(i,:) = rectpuls(t - i * interval, w);
plot(t, rect(i,:));
hold on
end
以上应该在 interval * (N + 1) = 220 ms
.
的时间长度内每隔 interval = 20 ms
生成相同的矩形脉冲
我需要创建一个 width = 7
和范围 (-T/2, T/2)
的矩形脉冲,其中 T
59 毫秒。
我写了这段代码,但我不确定它是否正确。
w = 7;
T = 59;
t = -T/2:1:T/2;
rect = rectpuls(t, w);
plot(t, rect);
此代码生成一个矩形脉冲,但我不确定它是否正确。另外,我不太确定 t = -T/2:1:T/2;
是什么意思。我的意思是范围是从 -29.5 到 29.5,步长为 1。当我将其设置为 0.1 或 0.01 时,我的脉搏更好。为什么这会影响我的输出?
请注意,我要做的第二件事是创建一个周期性的时钟脉冲序列。我不知道这是否会影响我必须实现初始矩形脉冲的方式。
当您增加数值函数(例如 Matlab rectpuls
)在其连续离散化过程中使用的增量数时,您将得到的结果是所述函数的准确性将会提高,以增加计算成本为代价(在这种情况下,可以忽略不计)。当您离散化使用较小的 time-steps,从 1
到 0.1
再到 0.01
.
要创建相同矩形脉冲的周期序列,您可以在循环中调用该函数:
w = 7;
T = 59;
t = -T/2:1:T/2;
t_size = size(t);
N = 10;
rect = zeros(N, t_size(2));
interval = 20;
figure
plot(t, rectpuls(t, w));
xlim([-20 (N + 1)*interval]);
ylim([0 1.1]);
hold on
for i = 1:N
t = (-T/2 + i*interval): 1 :(T/2 + i*interval);
rect(i,:) = rectpuls(t - i * interval, w);
plot(t, rect(i,:));
hold on
end
以上应该在 interval * (N + 1) = 220 ms
.
interval = 20 ms
生成相同的矩形脉冲