matlab画G(s)=100/(s/w_1 +1)(s/w_2 +1) 的对数相频特性曲线
时间: 2023-11-13 21:03:29 浏览: 102
幅频特性曲线Matlab编程.docx
首先,需要先定义频率范围和频率步进,以及函数中的参数w1和w2。假设频率范围为0.1到1000,步进为0.1,w1为10,w2为100,可以按照以下步骤绘制对数相频特性曲线:
1. 定义频率范围和步进
```
f = logspace(-1, 3, 1000); % 频率范围从10^-1到10^3,共1000个点
```
2. 计算G(jw)的实部和虚部
```
w1 = 10; % 参数w1
w2 = 100; % 参数w2
Gjw = @(w) 100./(1i*w/w1+1)./(1i*w/w2+1); % 定义函数G(jw)
Gjw_real = real(Gjw(2*pi*f)); % 计算实部
Gjw_imag = imag(Gjw(2*pi*f)); % 计算虚部
```
3. 绘制对数幅频特性曲线
```
figure;
semilogx(f, 20*log10(abs(Gjw_real+1i*Gjw_imag)));
xlabel('Frequency (rad/s)');
ylabel('Magnitude (dB)');
title('Log Magnitude Response');
```
4. 绘制对数相位特性曲线
```
figure;
semilogx(f, angle(Gjw_real+1i*Gjw_imag)*180/pi);
xlabel('Frequency (rad/s)');
ylabel('Phase (deg)');
title('Log Phase Response');
```
以上代码用MATLAB实现,可以画出G(s)=100/(s/w_1 +1)(s/w_2 +1)的对数相频特性曲线。
阅读全文