python单自由度振动计算-数据可视化2
参考
单自由度振动理论推导参考:
结果
输出位移由3部分组成:
代码
import matplotlib.pyplot as plt
import numpy as np
from moviepy.video.io.bindings import mplfig_to_npimage
import moviepy.editor as mpyfrom numpy import pi,sqrt,cos,sin,arctan,exp##########begin:计算单自由度振动###############
k1=(2*pi)**2
m1=1
wn=sqrt(k1/m1)
s_=0.16
wd=sqrt(1-s_**2)*wn
c1=2*s_*wn*m1
t=np.array(np.linspace(0,4,1000,False))#0:0.002:2;
f0=2
f_x0=1*sin(2*pi*f0*t)
f1=f_x0
s=2*pi*f0/wn;
B0=1/k1#%B0=F0/k1 2019.3.31 by lijilin
B=B0/sqrt((1-s**2)**2+(2*s_*s)**2);
phai=arctan(2*s_*s/(1-s**2));
#%%%%%%%%%%%%%%%%%%
if s>1:
# B=-B;phai=phai+pi;#%%%%当频率比s>1,响应滞后相位角为pi/2~pi!!!!!2019.3.31bylijilin
#%%%%%%%%%%%%%%%%%%%%%%
x0=0.02;
dx0=0.0;
x1=exp(-s_*wn*t)*(x0*cos(wd*t)+(dx0+s_*wn*x0)/wd*sin(wd*t))
x2=B*exp(-s_*wn*t)*(sin(phai)*cos(wd*t)+(s_*wn*sin(phai)-2*pi*f0*cos(phai))/wd*sin(wd*t))
x3=B*sin(2*pi*f0*t-phai)
x=x1+x2+x3
plt.figure
plt.subplot(3,1,1)
plt.plot(t,f1)
plt.subplot(3,1,2)
plt.plot(t,x)
plt.grid# 用matplotlib绘制一个图形
plt.figure
duration = 4fig_mpl, ax = plt.subplots(1,figsize=(5,3), facecolor='white')fs=1000/4xx=lambda d:t[:int(d*fs+1)]
zz=lambda d:x[:int(d*fs+1)]
zz1=lambda d:x1[:int(d*fs+1)]
zz2=lambda d:x2[:int(d*fs+1)]
zz3=lambda d:x3[:int(d*fs+1)]ax.set_title("output")
ax.set_xlabel("t")
ax.set_ylim(-0.03,0.03)
ax.set_xlim(0,4)
line, = ax.plot(xx(0),zz(0), lw=3)
line1, = ax.plot(xx(0),zz1(0), lw=2)
line2, = ax.plot(xx(0),zz2(0), lw=2)
line3, = ax.plot(xx(0),zz3(0), lw=2)# 用MoviePy制作动(为每个t更新曲面)。制作一个GIFdef make_frame_mpl(t):line.set_xdata(xx(t))line1.set_xdata(xx(t))line2.set_xdata(xx(t))line3.set_xdata(xx(t))line.set_ydata(zz(t) ) # 更新曲面line1.set_ydata(zz1(t) ) # 更新曲面line2.set_ydata(zz2(t) ) # 更新曲面line3.set_ydata(zz3(t) ) # 更新曲面return mplfig_to_npimage(fig_mpl) # 图形的RGB图像animation =mpy.VideoClip(make_frame_mpl, duration=duration)
animation.write_gif("sin_mpl.gif", fps=20)
python单自由度振动计算-数据可视化2相关推荐
- Python使用tsne进行高维数据可视化实战:二维可视化、三维可视化
Python使用tsne进行高维数据可视化实战:二维可视化.三维可视化 # 绘制二维可视化图像并添加标签字符函数 def plot_embedding(data, label, title):x_mi ...
- 单自由度振动全解:matlab理论计算 virtual.lab motion仿真Excite PU仿真
目录 1.单自由度振动理论推导见:https://blog.csdn.net/lijil168/article/details/88932542 2.利用matlab编程如下(计算发动机飞轮位移激励下 ...
- 使用Python Seaborn和Pandas进行数据可视化
Hey, folks! Today we will be unveiling a very interesting module of Python - Seaborn Module and will ...
- 单自由度振动系统 matlab,单自由度系统的振动及matlab分析
<单自由度系统的振动及matlab分析>由会员分享,可在线阅读,更多相关<单自由度系统的振动及matlab分析(6页珍藏版)>请在金锄头文库上搜索. 1.单自由度系统的振动及 ...
- Python爬虫实战,pyecharts模块,Python实现豆瓣电影TOP250数据可视化
前言 利用Python实现豆瓣电影TOP250数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pandas模块 pyecharts模块: 以及一些 ...
- python与excel做数据可视化-Python的Excel操作及数据可视化
Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...
- python实现的电影票房数据可视化
代码地址如下: http://www.demodashi.com/demo/14275.html ##详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从 ...
- Python爬虫实战,pyecharts模块,Python实现奥斯卡金像奖数据可视化
前言 利用Python实现奥斯卡金像奖数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块 pandas模块 pyecharts模 ...
- chatgpt赋能python:Python制表位:优化数据可视化与分析的利器
Python 制表位:优化数据可视化与分析的利器 在数据可视化和分析中,表格是一种常用的数据展示方式.Python 提供了丰富的用于构建表格的库,其中之一便是制表位(Tabulate).本文将介绍制表 ...
最新文章
- css行高line-height的用法
- 1.5 Kali Linux策略
- 青龙羊毛——可推(搬运)
- Optional 详解 Java
- spring aop抽取切点表达式
- py2exe for python3_使用Py2Exe for Python3创建自己的exe程序
- javaserver_集成Spring和JavaServer Faces:改进的模板
- C++结构体中const使用场景
- 创业须要恪守“一个常识“
- python用什么来写模块-使用C语言编写Python模块-引子【转】
- 什么是dispatchEvent?
- Mac上的MySQL可视化工具总结
- 百战程序员 全栈软件测试课程 2022 笔记
- Insyde uefi 隐藏设置_文颐法语:iOS 14安装后发现的9个隐藏的iPhone功能
- 计算机丢失MSVCR100.dll文件的解决办法
- 成长型思维——人不成熟的五大特征和高效能人士的七个习惯
- 美术绘画之场景基础-张聪-专题视频课程
- mysql utl_file_利用UTL_FILE包实现文件I/O操作
- 自定义注解和AOP的结合
- 记录centos上 Probable fatal error: No physical fonts found问题解决过程