qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-高级专业版🔥

系统的传递函数为G(s)=(2s^2+5s+1)/(s^2+2s+3),绘制出其根轨迹,伯德图和奈奎斯特图

时间2023-04-25 15:10:14 提问来自 重庆市重庆市 的网友 分类创作 浏览306
§ Code import numpy as np import matplotlib.pyplot as plt s = np.arange(-2,3,0.01) # s的取值范围为-2到3,步长为0.01 G = (2*s**2+5*s+1)/(s**2+2*s+3) # G(s)函数表达式 plt.figure(figsize=(10,6)) # 创建画布,并设置大小 # 绘制根轨迹图 plt.subplot(121) # 将画布分割成1行2列,图像画在从左到右从上到下的第1块 plt.title('Root Locus') # 设置标题 plt.xlabel('Real Axis') # 设置横轴标题 plt.ylabel('Imaginary Axis') # 设置纵轴标题 # 由于G(s)=0时,有复根 s=-1±j√5,所以将实部-1处画出一条竖直直线作为零点位置的参考。注意竖直直线要比曲线先画出来。 # 由于G(s)=0时,有复根 s=-1±j√5,所以将实部-1处画出一条竖直直线作为零位位子的参考。注意竖直直应该先于曲线画出来。 plt.axvline(-1,color='k',ls='--',lw=0.8) plt.plot(np.real(G),np.imag(G),'b',lw=0.8) # 绘制伯德图 # 将画布分割成1行2列,图像画在从左到右从上到下的第2块 plt . subplot (122 ) plt . title ( 'Bode Plot' ) plt . xlabel ( 'Frequency' ) plt . ylabel ( 'Magnitude/Phase' ) w = np . logspace (- 2 , 3 , 1000 ) s = 1 j * w G_mag = 20 * np . log10 ( abs ( G )) G_phase = np . angle ( G , deg = True ) plt . subplot ( 122 ) ax_mag = fig . add_subplot ( 122 , projection= 'polar' ) ax_mag . plot (( w ), abs (( G ))) ax_phase = fig . add_subplot () ax_phase . plot (( w ), np . angle (( G ))) # 由于奈奎斯特图是伯德图的特例(当K=1时就是奈奎斯特图 ) , 故不再单独进行实例化 # 显式执行映射关闭 pl t . show () ## 由于奈奎斯特図是伯德圖的特䣁︸當K= 1 時就是奈奎斯特圖 ︸故不再單独進行實䣁︸ ## 映射關閉 ## 顯式執衊映射關閉 ## 顯弤、 執《映射關閉 ## 顯弤、 執《映射關閉 ## 顯弤、 執《映射關閉 ## 顯弤、 執《映射關閉 Pl t· show()

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 预测2023赛季NBA总冠军会是哪支队伍 下一篇 1.如何为建设文化强国建设贡献自己的力量?1400字