给出完整的 MATLAB代码, 实现并绘制下列序列(如使用注释,请使用中文注释): ① x(n)= 0.8^n,0≤n≤15 ② x(n)=e^((0.2+3j)n),0≤n≤15 ③ x(n)= 3 cos(0.125 πn+0.2π)+2sin(0.25πn+0.lπ), 0≤n≤15 ④ 将③中的x(n)扩展为以 16 为周期的函数 x16(n)=x(n+16),绘出四个周期。 ⑤ 将③中的x(n)扩展为以 10 为周期的函数 x10(n)=x(n+10),绘出四个周期。
时间: 2023-12-24 09:04:57 浏览: 329
以下是实现上述序列的 MATLAB 代码:
① x(n)= 0.8^n,0≤n≤15
```matlab
n = 0:15; % 定义序列的取值范围
x = 0.8.^n; % 计算序列的值
stem(n, x); % 绘制序列图像
xlabel('n'); % 添加 x 轴标签
ylabel('x(n)'); % 添加 y 轴标签
title('序列 x(n) = 0.8^n'); % 添加图像标题
```
② x(n)=e^((0.2+3j)n),0≤n≤15
```matlab
n = 0:15; % 定义序列的取值范围
x = exp((0.2+3j)*n); % 计算序列的值
stem(n, abs(x)); % 绘制序列的幅度图像
xlabel('n'); % 添加 x 轴标签
ylabel('|x(n)|'); % 添加 y 轴标签
title('序列 x(n) = e^(0.2+3j)n'); % 添加图像标题
```
③ x(n)= 3 cos(0.125 πn+0.2π)+2sin(0.25πn+0.lπ), 0≤n≤15
```matlab
n = 0:15; % 定义序列的取值范围
x = 3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi); % 计算序列的值
stem(n, x); % 绘制序列图像
xlabel('n'); % 添加 x 轴标签
ylabel('x(n)'); % 添加 y 轴标签
title('序列 x(n) = 3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π)'); % 添加图像标题
```
④ 将③中的x(n)扩展为以 16 为周期的函数 x16(n)=x(n+16),绘出四个周期。
```matlab
n = 0:63; % 定义序列的取值范围
x = 3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi); % 计算序列的值
x16 = repmat(x(1:16), 1, 4); % 将一个周期的序列复制四次
stem(n, x16); % 绘制序列图像
xlabel('n'); % 添加 x 轴标签
ylabel('x16(n)'); % 添加 y 轴标签
title('序列 x16(n) = x(n+16)'); % 添加图像标题
```
⑤ 将③中的x(n)扩展为以 10 为周期的函数 x10(n)=x(n+10),绘出四个周期。
```matlab
n = 0:39; % 定义序列的取值范围
x = 3*cos(0.125*pi*n+0.2*pi)+2*sin(0.25*pi*n+0.1*pi); % 计算序列的值
x10 = repmat(x(1:10), 1, 4); % 将一个周期的序列复制四次
stem(n, x10); % 绘制序列图像
xlabel('n'); % 添加 x 轴标签
ylabel('x10(n)'); % 添加 y 轴标签
title('序列 x10(n) = x(n+10)'); % 添加图像标题
```
阅读全文