Python全面分析系统的时域特性和频率域特性


Posted in Python onFebruary 26, 2020

在不使用matlab的情况下,可以选择用python来实现自动控制理论有关系统打时域分析和频率域分析等,安装的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 ,当然,常用打科学计算用的package也要安装,numpy,scipy,sympy,matplotlib,pandas 等。

下面是自己练习时写的代码,写在此作记录和分享用,因为函数语法和matlab相差无几,这里就没有写太多的注释了,有需要打话可以去python-control打官网查看相关文档。

#!/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()

下面是运行打一些结果图:

Python全面分析系统的时域特性和频率域特性

Python全面分析系统的时域特性和频率域特性

Python全面分析系统的时域特性和频率域特性

Python全面分析系统的时域特性和频率域特性

以上这篇Python全面分析系统的时域特性和频率域特性就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python Requests安装与简单运用
Apr 07 Python
Python科学画图代码分享
Nov 29 Python
运用TensorFlow进行简单实现线性回归、梯度下降示例
Mar 05 Python
对pandas中apply函数的用法详解
Apr 10 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
pandas 将索引值相加的方法
Nov 15 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
Feb 26 #Python
Python中os模块功能与用法详解
Feb 26 #Python
Python中sys模块功能与用法实例详解
Feb 26 #Python
Python线程threading模块用法详解
Feb 26 #Python
Python图像处理库PIL中图像格式转换的实现
Feb 26 #Python
Python基础之字典常见操作经典实例详解
Feb 26 #Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
Feb 26 #Python
You might like
社区(php&&mysql)三
2006/10/09 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
php xhprof使用实例详解
2019/04/15 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
做网页的一些技巧(续)
2007/02/01 Javascript
Apply an AutoFormat to an Excel Spreadsheet
2007/06/12 Javascript
js模拟弹出效果代码修正版
2008/08/07 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
jQuery实现倒计时重新发送短信验证码功能示例
2017/01/12 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
js实现动态时钟
2020/03/12 Javascript
python缩进区别分析
2014/02/15 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
python连接mongodb集群方法详解
2020/02/13 Python
django 实现后台从富文本提取纯文本
2020/07/02 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
教师党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
家长给老师的感谢信
2015/01/20 职场文书
班主任寄语2015
2015/02/26 职场文书
2015年推普周活动总结
2015/03/27 职场文书
公司保洁员管理制度
2015/08/04 职场文书
《三国志》赏析
2019/08/27 职场文书
详解Vue router路由
2021/11/20 Vue.js