编写MATLAB程序,已知信号x(n)=nsin(n)请绘制在区间(0,20)下的波形:y(n)=x(n-2)
时间: 2024-10-11 20:02:22 浏览: 35
在MATLAB中,你可以通过以下几个步骤编写程序来绘制给定信号`y(n) = x(n-2)`的波形,其中`x(n) = n*sin(n)`:
1. 首先,你需要生成一系列的n值,从0到20,步长为1。这将是你信号的时间轴。可以使用`linspace`函数做到这一点:
```matlab
n = linspace(0, 20, 21); % 生成0到20之间的21个点
```
2. 接着,计算`x(n)`,即`n*sin(n)`:
```matlab
x = n .* sin(n);
```
3. 计算`y(n)`,就是`x(n-2)`,需要向右移动两个位置:
```matlab
y = x(round(n - 2)); % 注意这里要用round()来取整数下标,因为n是连续的
```
4. 最后,绘制这两个信号的波形,通常使用`plot`函数:
```matlab
figure; % 创建一个新的图形窗口
hold on; % 保持当前图层打开,方便在同一窗口绘制两根线
plot(n, x, 'r', 'LineWidth', 1.5, 'DisplayName', 'x(n)');
plot(n, y, 'b', 'LineWidth', 1.5, 'DisplayName', 'y(n)');
legend('show'); % 显示图例
xlabel('时间 (n)'); % 设置X轴标签
ylabel('幅度'); % 设置Y轴标签
title('x(n) 和 y(n) 波形'); % 添加标题
grid on; % 添加网格线
```
运行上述所有代码段后,你将在新窗口中看到`x(n)`和`y(n)`在区间`(0, 20)`内的波形。
阅读全文