matlab画出H(s)=2*(s^2+4)/s*(s+2)*(s^2+1)的零极点分布图
时间: 2024-05-04 14:22:00 浏览: 5
可以使用MATLAB中的`pzmap`函数来画出H(s)的零极点分布图。
下面是MATLAB代码示例:
```matlab
% 定义 H(s)
num = [2, 0, 8];
den = [1, 3, 2, 0, 1];
H = tf(num, den);
% 绘制零极点图
figure;
pzmap(H);
title('H(s)的零极点分布图');
```
运行代码后,将会弹出一个画布,上面显示了H(s)的零极点分布图。
相关问题
运用MATLAB对G(s)=((2*s^2 + 3*s + 5)/(s^3 + 2*s^2 + 4*s + 6))进行拉氏反变换
首先,将G(s)进行部分分式分解:
G(s) = ((2*s^2 + 3*s + 5)/(s^3 + 2*s^2 + 4*s + 6))
= A/(s + 1) + (Bs + C)/(s^2 + 2s + 3)
其中,A、B、C为待求系数。
通过通分得到:
G(s) = (A*(s^2 + 2s + 3) + (Bs + C)*(s + 1))/(s^3 + 2*s^2 + 4*s + 6)
令 s = -1,得到:
2A = 2
解得 A = 1。
令 s = 0 和 s = -2,得到:
3B + C = 5
-2B + C = 3
解得 B = -1,C = 2。
因此,G(s)可以表示为:
G(s) = 1/(s + 1) - (s - 2)/(s^2 + 2s + 3)
接下来,需要对第二项进行拉氏反变换。
设 H(s) = (s - 2)/(s^2 + 2s + 3),则有:
H(s) = (s + 1 - 3)/(s^2 + 2s + 3)
= (s + 1)/(s^2 + 2s + 3) - 3/(s^2 + 2s + 3)
对于第一项,通过查表或公式可以得到其拉氏反变换为:
L^-1{(s + 1)/(s^2 + 2s + 3)} = e^(-t)*sin(t)
对于第二项,进行配方法,令:
s^2 + 2s + 3 = (s + 1)^2 + 2
则有:
H(s) = (s - 2)/((s + 1)^2 + 2)
= (s + 1 - 3)/((s + 1)^2 + 2)
= (s + 1)/((s + 1)^2 + 2) - 3/((s + 1)^2 + 2)
通过查表或公式可以得到:
L^-1{(s + 1)/((s + 1)^2 + 2)} = e^(-t)*cos(sqrt(2)*t)/sqrt(2)
L^-1{(3/((s + 1)^2 + 2))} = 3*e^(-t)*sin(sqrt(2)*t)/sqrt(2)
因此,G(s)的拉氏反变换为:
L^-1{G(s)} = L^-1{1/(s + 1)} - L^-1{(s - 2)/(s^2 + 2s + 3)}
= e^(-t)*sin(t) - (e^(-t)*cos(sqrt(2)*t)/sqrt(2) - 3*e^(-t)*sin(sqrt(2)*t)/sqrt(2))
MATLAB绘制8/s^2+2s的单位阶跃响应
根据系统函数H(s) = 8/(s^2 + 2s),我们可以求出系统的单位阶跃响应为:
Y(s) = H(s) * U(s) = 8/(s^2 + 2s) * 1/s
其中U(s)为单位阶跃信号的拉普拉斯变换。
对Y(s)进行部分分式分解,得到:
Y(s) = 4/(s+2) - 4/s
然后,对上述结果进行拉普拉斯反变换,得到系统的单位阶跃响应:
y(t) = 4(1 - e^(-2t))
最终,MATLAB代码如下:
```matlab
num = [0 0 8]; % 系统的分子多项式
den = [1 2 0]; % 系统的分母多项式
sys = tf(num, den); % 建立传递函数模型
step(sys); % 绘制单位阶跃响应图像
```
运行上述代码,即可绘制出8/s^2+2s的单位阶跃响应。