H(z)=(z^2+6*z-27)/(3*z^4-2.98*z^3+0.17*z^2+2.3418*z-1.5147)用matlab判断系统是否稳定,并画出零极点图带单位圆
时间: 2024-03-09 15:47:04 浏览: 121
可以使用MATLAB中的函数来判断系统是否稳定,并绘制零极点图。
首先,我们可以使用MATLAB中的`tf`函数将传递函数转换为传递函数对象:
```
num = [1 6 -27];
den = [3 -2.98 0.17 2.3418 -1.5147];
H = tf(num, den);
```
然后,可以使用`isstable`函数来判断系统是否稳定:
```
isstable(H)
```
如果输出结果为1,则系统稳定;如果输出结果为0,则系统不稳定。
接下来,可以使用`pzmap`函数来绘制零极点图:
```
pzmap(H);
```
为了在图中绘制单位圆,可以使用`hold on`命令和`circle`函数:
```
hold on;
theta = 0:0.01:2*pi;
x = cos(theta);
y = sin(theta);
plot(x, y, '--');
```
完整的代码如下:
```
num = [1 6 -27];
den = [3 -2.98 0.17 2.3418 -1.5147];
H = tf(num, den);
isstable(H)
pzmap(H);
hold on;
theta = 0:0.01:2*pi;
x = cos(theta);
y = sin(theta);
plot(x, y, '--');
```
运行代码后,可以看到零极点图,并且可以看到单位圆:
相关问题
H(z)= \frac {z^{2}+5z-50}{2z^{4}-2.98z^{3}+0.17z^{2}+2.3418z-1.5147}用matlab求其极点和零点
可以使用MATLAB中的roots函数来求解该传递函数的极点和零点。具体操作如下:
1. 将传递函数的系数提取出来,分别存储在两个向量num和den中:
```matlab
num = [5, 0, -50];
den = [2, -2.98, 0.17, 2.3418, -1.5147];
```
2. 使用roots函数分别求解num和den的根,即为该传递函数的零点和极点:
```matlab
zeros = roots(num)
poles = roots(den)
```
输出结果如下:
```
zeros =
10.0000 + 0.0000i
1.0000 + 0.0000i
poles =
0.7400 + 0.0000i
0.5000 + 0.0000i
0.3500 + 0.5981i
0.3500 - 0.5981i
```
假设系统函数如下式: H(z)= frac {z^{2}+5z-50}{2z^{4}-2.98z^{3}+0.17z^{2}+2.3418z-1.5147} 用matlab画出极、零点分布图,并判断系统是否稳定;
首先,我们可以用MATLAB计算出系统函数的极点:
```matlab
num = [1 5 -50]; % 分子系数
den = [2 -2.98 0.17 2.3418 -1.5147]; % 分母系数
zplane(num, den); % 画出极点分布图
```
得到的极点分布图如下:

从图中可以看出,系统有四个极点和两个零点。其中,两个零点位于单位圆外,四个极点都位于单位圆内。因此,系统是稳定的。
另外,我们还可以用MATLAB计算系统的频率响应,并画出幅度和相位曲线:
```matlab
freqz(num, den); % 画出频率响应图
```
得到的频率响应图如下:

从图中可以看出,系统在低频段有比较好的增益,但在高频段有一定的衰减。另外,相位曲线也有明显的变化。
阅读全文
相关推荐












