使用matlab代码分别描绘下列各序列波形图。(1)x(n)=(2^n)*u(n) (2) sin(0.01*n)u(n) (3) x(n)=cos(-nΠ/10+Π/5) (
时间: 2024-10-27 14:05:38 浏览: 25
ycgmln - 副本.rar_MGM(1_n)灰色预测_灰色预测 matlab
5星 · 资源好评率100%
在MATLAB中,你可以使用`stem`、`sin`、`cos`函数以及`step`函数来绘制上述各序列的波形图。这里给出每种情况下的代码:
1. 对于序列 `x(n) = 2^n * u(n)`,其中`u(n)`是单位阶跃函数(Heaviside Unit Step Function),需要先生成`n`的向量,并计算`2^n`,然后用`stem`函数绘制:
```matlab
n = 0:10; % 选择适当的n范围,这里假设从0到10
x = 2 .^ n;
stem(n, x);
xlabel('n');
ylabel('2^n * u(n)');
title('Sequence 1: 2^n * Unit Step Function');
```
2. 对于序列 `x(n) = sin(0.01*n) * u(n)`,同样需要生成n的向量,然后乘以正弦函数并用`stem`绘制:
```matlab
x = sin(0.01 * n) .* (n >= 0); % 注意要用条件操作符限制u(n)
stem(n, x);
xlabel('n');
ylabel('sin(0.01n) * u(n)');
title('Sequence 2: Sinusoidal Wave with Unit Step Function');
```
3. 对于周期性的余弦函数 `x(n) = cos(-π/10 * n + π/5)`,可以用`cos`函数直接绘制,因为不需要步进函数`u(n)`:
```matlab
n = 0:0.1:20; % 取适当范围,确保完整显示周期
x = cos(-pi/10 * n + pi/5);
plot(n, x);
xlabel('n');
ylabel('cos(-π/10n + π/5)');
title('Sequence 3: Cosine Wave');
```
在这三个例子中,别忘了运行相应代码来查看结果。
阅读全文