使用MATLAB画出下列序列的波形图:(1)x(n)=2^n*u(n) ; (2) x(n)=sin(0.01*n)ε(n); (3) x(n)=cos(nπ/10-π/5); (4) x(n)=cos(-nπ/10+π/5)
时间: 2024-10-27 10:06:54 浏览: 63
在MATLAB中绘制一系列信号的波形图,你可以按照以下步骤操作:
1. **序列1:\( x(n) = 2^n \cdot u(n) \)** (单位阶跃函数)
- 首先,你需要创建一个向量 `n`,通常从0到你想显示的点数减一。然后,计算 \(2^n\) 的值并乘以单位阶跃函数。可以用 `Heaviside(n)` 函数表示。
```
n = 0:100; % 可视化前100项
x1 = 2 .^ n .* Heaviside(n);
plot(n, x1);
title('2^n * Unit Step Function');
xlabel('n');
ylabel('x(n)');
```
2. **序列2:\( x(n) = \sin(0.01n) \cdot \epsilon(n) \)** (单位脉冲序列与正弦函数结合)
- 正弦函数可以直接计算,但需要加上单位脉冲序列 \( \epsilon(n) \),这通常通过 `ones()` 或 `eye()` 函数实现。
```
x2 = sin(0.01 * n) .* ones(size(n)); % 单位脉冲序列假设存在
plot(n, x2);
title('Sine Function with Pulse Sequence');
```
3. **序列3:\( x(n) = \cos(\frac{n\pi}{10} - \frac{\pi}{5}) \)**
- 直接计算余弦值。
```
x3 = cos((n*pi)/10 - pi/5);
plot(n, x3);
title('Cosine Function with Phase Shift');
```
4. **序列4:\( x(n) = \cos(-\frac{n\pi}{10} + \frac{\pi}{5}) \)**
- 同样直接计算,这里负号不影响余弦函数本身。
```
x4 = cos(-(n*pi)/10 + pi/5);
plot(n, x4);
title('Cosine Function with Different Phase Shift');
```
每个图例都会自动添加相应的标签和标题。
阅读全文