function complex2() t=-5:0.001:5; x=exp(-(2)*t); subplot(3,2,1),plot(t,x,'r'); xlabel('t');ylabel('x(t)');title('输入信号'); grid on; w=-10:0.001:10;%H(jw)=1/(1+jw) H_amplitude=exp(w*0); H_angle=atan(-w); subplot(3,2,3),plot(w,H_amplitude,'r'); xlabel('w');ylabel('H_amplitude');title('频率响应幅度'); grid on; subplot(3,2,4),plot(w,H_angle,'r'); xlabel('w');ylabel('H_angle');title('频率响应相位'); grid on; y=exp(-2*t); subplot(3,2,5),plot(t,y,'b'); xlabel('t');ylabel('y(t)');title('输出信号'); grid on; subplot(3,2,6),plot(t,x,'r'); hold on plot(t,y,'b'); title('幅度失真对比'); hold off; grid on;
时间: 2023-08-12 19:06:08 浏览: 86
这是一个 Matlab 函数,其中实现了一个简单的系统,包括输入信号、系统的频率响应、输出信号和幅度失真对比。以下是每行代码的解释:
```
function complex2()
```
这一行定义了函数名为 complex2。
```
t=-5:0.001:5;
```
这一行定义了时间范围为 -5 到 5,采样间隔为 0.001。
```
x=exp(-(2)*t);
```
这一行定义了输入信号 x,为一个指数函数。
```
subplot(3,2,1),plot(t,x,'r'); xlabel('t');ylabel('x(t)');title('输入信号'); grid on;
```
这一行是将输入信号 x 画成一个子图,并设置子图的标题、坐标轴标签和网格线。
```
w=-10:0.001:10;%H(jw)=1/(1+jw)
```
这一行定义了角频率范围为 -10 到 10,采样间隔为 0.001,并计算系统的频率响应 H(jw),为 1/(1+jw)。
```
H_amplitude=exp(w*0);
H_angle=atan(-w);
```
这两行分别计算了频率响应 H(jw) 的幅度和相位。
```
subplot(3,2,3),plot(w,H_amplitude,'r'); xlabel('w');ylabel('H_amplitude');title('频率响应幅度'); grid on;
```
这一行是将频率响应 H(jw) 的幅度画成一个子图,并设置子图的标题、坐标轴标签和网格线。
```
subplot(3,2,4),plot(w,H_angle,'r'); xlabel('w');ylabel('H_angle');title('频率响应相位'); grid on;
```
这一行是将频率响应 H(jw) 的相位画成一个子图,并设置子图的标题、坐标轴标签和网格线。
```
y=exp(-2*t);
```
这一行定义了输出信号 y,为一个指数函数。
```
subplot(3,2,5),plot(t,y,'b'); xlabel('t');ylabel('y(t)');title('输出信号'); grid on;
```
这一行是将输出信号 y 画成一个子图,并设置子图的标题、坐标轴标签和网格线。
```
subplot(3,2,6),plot(t,x,'r'); hold on plot(t,y,'b'); title('幅度失真对比'); hold off; grid on;
```
这一行是将输入信号 x 和输出信号 y 的幅度对比画成一个子图,并设置子图的标题、坐标轴标签和网格线。
综上所述,这个函数实现了一个简单的系统,并将输入信号、系统的频率响应、输出信号和幅度失真对比以图像的形式展示出来。
阅读全文