Python绘制奈奎斯特图(nyquist plot)

分类: 365体育平台bet下载入口 时间: 2025-11-05 10:28:26 作者: admin 阅读: 2714 点赞: 680
Python绘制奈奎斯特图(nyquist plot)

文章目录

简介绘图nyquist_plot

简介

奈奎斯特图,是一种线性控制系统的频率特性图,对于连续时间的线性非时变系统,将其频率响应的增益及相位以极坐标的方式绘出。奈奎斯特图常在控制系统或信号处理中使用,可以用来判断一个有反馈的系统是否稳定。

奈奎斯特图可以根据开环传递函数的频率响应在复平面上的轨迹,来判断闭环系统是否稳定,具体来说,可通过曲线是否顺时针包围、逆时针包围

1

-1

−1点,来判断其稳定性

顺时针包围:如果奈奎斯特图顺时针包围点

1

+

j

0

-1 + j0

−1+j0,则闭环系统不稳定。包围的次数等于闭环系统不稳定极点的个数。逆时针包围:如果奈奎斯特图逆时针包围点

1

+

j

0

-1 + j0

−1+j0,则闭环系统稳定。不包围:如果奈奎斯特图不包围点

1

+

j

0

-1 + j0

−1+j0,则闭环系统稳定。

绘图

对于响应函数为

2

s

2

+

5

s

+

1

s

2

+

2

s

+

3

\frac{2 s^{2} + 5 s + 1}{s^{2} + 2 s + 3}

s2+2s+32s2+5s+1​的系统而言,其奈奎斯特图如下

此图显示了传递函数在复平面上的轨迹,从左下方开始,向右上方移动,然后围绕原点附近旋转,最后回到左下方,由于此图未包含

1

-1

−1点,故而系统稳定。

绘图代码为

from sympy.abc import s

from sympy.physics.control.lti import TransferFunction

from sympy.physics.control.control_plots import nyquist_plot

tf1 = TransferFunction(2*s**2 + 5*s + 1, s**2 + 2*s + 3, s)

nyquist_plot(tf1)

nyquist_plot

【nyquist_plot】即为sympy中绘制奈奎斯特图的函数,其完整定义为

control_plots.nyquist_plot(

system,

initial_omega=0.01,

final_omega=100,

show=True,

color='b',

**kwargs,

)

其中各参数含义为以下是翻译内容:

system:要生成奈奎斯特图的线性时不变单输入单输出(LTI SISO)系统。initial_omega:起始频率值。默认值为 0.01。final_omega:结束频率值。默认值为 100。show:如果为 True,则显示图形。默认值为 True。color:奈奎斯特图的颜色。默认值为‘b’(蓝色)。grid:如果为 True,则显示网格线。默认值为 False。

相关推荐

【Data Reporter】浮屍案背後:前仆後繼的越南偷渡潮有多少?他們如何橫跨黑水溝?
Clash更新订阅不能用了:解决方法和常见问题详解
beat365官方最新版

Clash更新订阅不能用了:解决方法和常见问题详解

📅 10-13 👁️ 6778
电信查话费的号码是多少?三种方法教你快速查询