溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python全面分析系統(tǒng)的時域特性和頻率域特性

發(fā)布時間:2020-10-10 09:08:05 來源:腳本之家 閱讀:145 作者:落葉_小唱 欄目:開發(fā)技術(shù)

在不使用matlab的情況下,可以選擇用python來實現(xiàn)自動控制理論有關(guān)系統(tǒng)打時域分析和頻率域分析等,安裝的package是python-control,在windows的控制臺(cmd)或者linux終端下輸入pip install control 即可,注意,如果同時安裝了2.7 和 3.x(3.4或者3.5或者3.6 版本,使用pip 命令打時候需要指定版本號,如pip2 install control 或者pip3.4 install control ,當(dāng)然,常用打科學(xué)計算用的package也要安裝,numpy,scipy,sympy,matplotlib,pandas 等。

下面是自己練習(xí)時寫的代碼,寫在此作記錄和分享用,因為函數(shù)語法和matlab相差無幾,這里就沒有寫太多的注釋了,有需要打話可以去python-control打官網(wǎng)查看相關(guān)文檔。

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Wed Nov 16 17:48:02 2016

@author: kindy
"""

from control import *
from scipy import signal as sgl
from matplotlib import pyplot as plt
import numpy as np

T=np.mgrid[0:8:0.02]
U1=T
U2=T**2


sys1 = tf([1],[0.5,1]) # 
sys2 = tf([2],[1,2,4]) # 

# Step Response
def step_resp():
 sout1,stime1 = step(sys1)
 sout2,stime2 = step(sys2)
 plt.plot(stime1,sout1,'b',linewidth=0.5)
 plt.plot(stime2,sout2,'b',linewidth=0.5)
 plt.xlabel("Time")
 plt.ylabel("Amplitude")
 plt.title("Step Resopnse",fontsize=12)
 #plt.legend()
 plt.show()

# Impulse Response
def impulse_resp():

 iout1,itime1 = impulse(sys1)
 iout2,itime2 = impulse(sys2)
 plt.plot(itime1,iout1,'m',linewidth=0.8)
 plt.plot(itime2,iout2,'r',linewidth=0.8)
 plt.show()

#impulse_resp()

# 任意輸入信號的輸出,lsim
def lsim_plot():
 yout1,Time1, xout1 = lsim(sys1, U1, T)
 yout2,Time2, xout2 = lsim(sys2, U1, T)
 plt.plot(Time1, yout1, 'b', linewidth=0.7)
 plt.plot(Time2, yout2, 'b', linewidth=0.7)
 plt.show()

#lsim_plot()

# 波特圖
def bode_plot():
 bode(sys1)
 bode(sys2)

#bode_plot()

# Nyquist圖
def nyquist_plot():
 nyquist(sys1)
 nyquist(sys2)

#nyquist_plot() 


# 根軌跡
def root_locus():
 rlocus(sys1)
 rlocus(sys2)

root_locus()

下面是運行打一些結(jié)果圖:

Python全面分析系統(tǒng)的時域特性和頻率域特性

Python全面分析系統(tǒng)的時域特性和頻率域特性

Python全面分析系統(tǒng)的時域特性和頻率域特性

Python全面分析系統(tǒng)的時域特性和頻率域特性

以上這篇Python全面分析系統(tǒng)的時域特性和頻率域特性就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI