MATLAB中freqs
时间: 2024-05-10 08:19:06 浏览: 127
fftfreq:返回 fft 的频率值-matlab开发
在MATLAB中,freqs是一个用于计算线性时不变系统的频率响应的函数。它可以计算出给定系统的幅度响应和相位响应,并返回这些响应的频率向量。
语法如下:
```
[H, W] = freqs(b, a, w)
```
其中,b是系统的分子多项式系数向量,a是系统的分母多项式系数向量,w是频率向量。返回的H向量是系统的复杂频率响应,W向量是频率向量。
例如,假设我们有一个系统,其分子多项式系数为[1 2],分母多项式系数为[1 -0.5 0.1],我们可以使用freqs函数计算其频率响应:
```
b = [1 2];
a = [1 -0.5 0.1];
w = logspace(-1, 2, 100);
[H, W] = freqs(b, a, w);
```
这将计算系统在频率范围从0.1到100的100个频率点上的频率响应,并将结果存储在H和W向量中。我们可以使用plot函数将结果可视化:
```
subplot(2,1,1);
semilogx(W, 20*log10(abs(H)));
xlabel('Frequency (rad/s)');
ylabel('Magnitude (dB)');
title('Magnitude Response');
subplot(2,1,2);
semilogx(W, angle(H)*180/pi);
xlabel('Frequency (rad/s)');
ylabel('Phase (deg)');
title('Phase Response');
```
这将显示系统的幅度响应和相位响应。
阅读全文