(2)利用函数impseq.m与stepseq.m产生下面的序列,写出程序代码并绘图。① 三点平均器:y(k)=1/3[δ(k-1)+δ(k-2)+δ(k-3)](-20<k<20)。② 矩形信号:(k)=R10(k)=[u(k)-u(k-10)](-20≤k<20)。
时间: 2024-09-13 07:05:19 浏览: 68
为了生成您提到的两个序列并进行绘图,我们可以使用MATLAB语言编写相应的代码。以下是完成这一任务的MATLAB代码:
```matlab
% 定义k的范围,从-20到19,总共40个点
k = -20:19;
% 定义delta函数,即单位脉冲函数
delta = @(k) double(k == 0);
% 三点平均器序列
y1 = (1/3) * (delta(k-1) + delta(k-2) + delta(k-3));
% 矩形信号序列
u = @(k) double(k >= 0); % 单位阶跃函数
y2 = u(k) - u(k-10);
% 绘制三点平均器序列
figure;
stem(k, y1, 'filled');
title('三点平均器序列');
xlabel('k');
ylabel('y(k)');
axis([-20 20 -0.5 1.5]); % 设置坐标轴范围
% 绘制矩形信号序列
figure;
stem(k, y2, 'filled');
title('矩形信号序列');
xlabel('k');
ylabel('R10(k)');
axis([-20 20 -1.5 1.5]); % 设置坐标轴范围
```
在这段代码中,首先定义了k的范围,然后定义了`delta`函数来表示单位脉冲函数。接着使用`y1`变量来存储三点平均器序列,使用`y2`变量来存储矩形信号序列。最后使用`stem`函数分别绘制两个序列的图形。
请注意,这里假设您已经安装了MATLAB环境,并且`impseq.m`和`stepseq.m`函数不需要特别的实现,因为MATLAB内建了处理单位脉冲和单位阶跃函数的方法。
阅读全文