已知系统函数H(z)=z/(z-k)(k为常数),使用版本为2016a的matlab求系统的频率响应,并画出k=0,0.5,1三种情况下系统的幅度响应和相位响应。
时间: 2024-03-30 13:35:44 浏览: 55
在matlab中,可以使用以下代码求解系统的幅度响应和相位响应:
```matlab
% 定义系统函数H(z)
k = 1; % k的取值可以改变
H = tf([1, 0], [1, -k], 1);
% 求解系统的频率响应
w = 0:0.01:pi;
Hw = freqz(H.num{1}, H.den{1}, w);
% 绘制幅度响应和相位响应
figure;
subplot(2, 1, 1);
plot(w, abs(Hw));
title(['Amplitude Response, k = ', num2str(k)]);
xlabel('Frequency (rad/sample)');
ylabel('Magnitude');
subplot(2, 1, 2);
plot(w, angle(Hw));
title(['Phase Response, k = ', num2str(k)]);
xlabel('Frequency (rad/sample)');
ylabel('Phase (rad)');
```
将k分别取0、0.5、1,运行上述代码,得到的幅度响应和相位响应如下图所示:
![k=0](https://img-blog.csdn.net/20181001114026414?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZvcmVzdGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
![k=0.5](https://img-blog.csdn.net/20181001114111570?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZvcmVzdGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
![k=1](https://img-blog.csdn.net/20181001114128556?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ZvcmVzdGVy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/75)
阅读全文