已知系统的阶跃响应为g(n)=2*n^2*u(n),请用matlab画出h(n)序列
时间: 2024-01-21 13:16:34 浏览: 26
根据系统的阶跃响应g(n),可以得到其单位脉冲响应为h(n),即:
h(n) = g(n) - g(n-1)
代入g(n) = 2*n^2*u(n)可得:
h(n) = 2n^2*u(n) - 2(n-1)^2*u(n-1)
在MATLAB中,可以使用如下代码绘制h(n)序列的图像:
```
n = 0:10;
h = 2*n.^2 - 2*(n-1).^2;
stem(n,h);
xlabel('n');
ylabel('h(n)');
title('Sequence h(n)');
```
运行以上代码,即可得到h(n)序列的图像。
相关问题
假设已知系统的阶跃响应g(n)=[2*(n.^2)],请用matlab求出系统函数。
根据系统的阶跃响应g(n)和z变换的定义可以得到系统函数为:
H(z) = Z{h(n)} = Z{2n^2u(n)} = 2*(1+z^-1)/(1-z^-1)^3
其中,u(n)为单位阶跃函数。可以用MATLAB中的符号计算工具箱来验证该结果,代码如下:
```
syms n z
g = 2*n^2;
G = ztrans(g, n, z);
H = simplify(G/(1/z));
```
其中,g表示系统的阶跃响应,G为其Z变换,H为系统函数。simplify函数用于对表达式进行简化。运行代码后可以得到H(z)的表达式为:
H(z) = (2*(z + 1))/(z^3 - 3*z^2 + 3*z - 1)
因此,该系统的系统函数为H(z) = (2*(z + 1))/(z^3 - 3*z^2 + 3*z - 1)。
假设已知系统的阶跃响应g(n)=[2*(n.^2)],请用matlab求出冲激响应。
根据阶跃响应g(n)和脉冲响应h(n)的关系,可以得到:
h(n) = g(n) - g(n-1)
因此,我们可以用matlab编写以下代码来求出该系统的冲激响应:
```matlab
n = 0:10; % 设置n的范围
g = 2 * (n.^2); % 求出阶跃响应
h = g - [0 g(1:end-1)]; % 求出冲激响应
stem(n,h); % 绘制冲激响应的图像
xlabel('n'); ylabel('h(n)'); % 添加坐标轴标签
```
运行以上代码,即可得到冲激响应的图像。