python仿真报告自动化——excite TD齿轮角加速度级计算
python仿真报告自动化——excite TD齿轮角加速度级计算
- 1 、问题-燃油泵相位优化
- 2、难点-excite TD结果文件的提取
- 3、代码
1 、问题-燃油泵相位优化
用excite TD对齿轮系进行仿真,模拟不同燃油泵相位对齿轮传动振动的影响,用齿轮角加速度级作为评价指标,需要计算大量的数据,用IMPRESS Chart手动处理,太麻烦。
2、难点-excite TD结果文件的提取
excite TD结果文件.GID在用python读取时,有大量的空格,需合并连续空格,再用空格分割提取齿轮角角速度FFT的数据。
用正则化表达式处理:
line=re.sub(r’\s+‘,’ ',line)
3、代码
计算各齿轮的角加速度级,绘图,并将数据写入excel中。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import replt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号file_excel_fullname=r'E:\NVH_sim_\ppt\ai_gear.xlsx'
cirv_name=['G-Crankshaft','G-SteppedidleBig','G-SteppedidleSmall','G-Camidle2','G-Camidle1','G-Intake','G-Exhaust',\'G-FIP','G-AirPumpidle','G-AirPump','G-OilPumpidle','G-OilPump']
file_name=['SHGE_164_F.GID','SHGE_191_F.GID','SHGE_201_F.GID','SHGE_212_F.GID','SHGE_215_F.GID','SHGE_219_F.GID','SHGE_218_F.GID',\'SHGE_193_F.GID','SHGE_169_F.GID','SHGE_171_F.GID','SHGE_180_F.GID','SHGE_183_F.GID']
NUM=12
fi=np.zeros((226,NUM))
ai=np.zeros((226,NUM))
a_db=np.zeros(NUM)
for j in range(NUM):file_path = r'E:\NVH_sim_\excite_td\TD-1600rpm\results'+'\\'+file_name[j]with open(file_path) as f:content=f.read()#拆分内容lines=content.split('\n')for i,line in enumerate(lines[149:375]):#利用正则表达式将连续的空格合并为一个空格line=re.sub(r'\s+',' ',line)item=line.split(' ')fi[i,j]=float(item[1])ai[i,j]=float(item[32])a_db[j]=10*np.log10(np.sum(ai[:,j]*ai[:,j]))
for j in range(NUM):plt.plot(fi[:,j],10*np.log10(ai[:,j]*ai[:,j]),label='$%s:%5.2f$'%(cirv_name[j],a_db[j]))
plt.legend()
plt.xlabel('fi/Hz')
plt.ylabel('ai/Db')
plt.show()
print(a_db)# c创建一个DataFrame数据类型,并写入表头
dataFrame = pd.DataFrame(columns=("fi", 'G-Crankshaft','G-SteppedidleBig','G-SteppedidleSmall','G-Camidle2','G-Camidle1','G-Intake','G-Exhaust',\'G-FIP','G-AirPumpidle','G-AirPump','G-OilPumpidle','G-OilPump'))
#添加两行数据
for i in range(226):dataFrame.loc[i+1] = [fi[i,0], ai[i,0], ai[i,1],ai[i,2], ai[i,3],ai[i,4], ai[i,5],ai[i,6], \ai[i,7],ai[i,8],ai[i,9], ai[i,10],ai[i,11]]
dataFrame.loc[i+2]=['overall',a_db[0], a_db[1],a_db[2], a_db[3], a_db[4],a_db[5], a_db[6],\a_db[7], a_db[8],a_db[9], a_db[10], a_db[11]]
# 写入excel文件
#dataFrame.values[:,0]=fi[:,0]
dataFrame.to_excel(file_excel_fullname)

相关文章:
python仿真报告自动化——excite TD齿轮角加速度级计算
python仿真报告自动化——excite TD齿轮角加速度级计算 1 、问题-燃油泵相位优化2、难点-excite TD结果文件的提取3、代码 1 、问题-燃油泵相位优化 用excite TD对齿轮系进行仿真,模拟不同燃油泵相位对齿轮传动振动的影响,用齿轮角加速度级作为评价指标…...
如何系统的学习 C#
第一阶段:环境搭建与基础知识 1.1 安装开发环境 下载并安装Visual Studio或Visual Studio Code。若选用Visual Studio Code,记得安装C#扩展插件。 1.2 C#语言概述 了解C#的发展历程、特点以及应用场景。学习C#的基本语法规范,例如语句结尾…...
python爬虫----python列表高级
小伙伴们,大家好!今天学习的内容是python列表高级。 1、添加元素 append:在列表末尾添加元素 A [xiaoWang, xiaoZhang, xiaoHua] print("添加之前,列表A的数据:", A)temp input(请输入要添加的学生姓名:) A.append…...
目标检测的相关模型图:YOLO系列和RCNN系列
目标检测的相关模型图:YOLO系列和RCNN系列 前言YOLO系列的图展示YOLOpassthroughYOLO2YOLO3YOLO4YOLO5 RCNN系列的图展示有关目标检测发展的 前言 最近好像大家也都在写毕业论文,前段时间跟朋友聊天,突然想起自己之前写画了一些关于YOLO、Fa…...
Linux基础命令2
目录 一.查看切换统计目录 1.Linux的文件属性 2. ls 命令 3.通配符 4.alias(别名) 5.du(disk use) 二.创建目录 1.mkdir (建立文件夹) 2.touch (建立文件) 三.Linux中的链接…...
IP组播基础
原理概述 IANA ( Internet Assigned Numbers Authority )将 IP 地址分成了 A 、 B 、 C 、 D 、 E5类,其中的 D 类为组播 IP 地址,范围是224.0.0.0~239.255.255.255。 一个 IP 报文,其目的地址如果是单播 IP 地址ÿ…...
Pytorch的named_children, named_modules和named_children
在 PyTorch 中,named_children、named_modules 和 named_parameters 是用于获取神经网络模型组件和参数的三种不同的方法。下面是它们各自的作用和区别: named_parameters:递归地列出所有参数名称和tensornamed_modules:递归地列…...
3.28总结
1.java学习记录 1.方法的重载 重载换而言之其实就是函数名不变,但是其中的参数需要改变,可以三个方面改变(参数类型,参数顺序,参数个数这三个方面入手,这样可以运用的) 但是:注意…...
C# 命名空间的两种定义哦写法与区别
这两种写法在C#中都是有效的,但是它们代表了不同的语法风格和C#版本特性。 第一种写法: namespace Nebula.PDF; public class PdfDocument {}这是C# 9.0及更高版本中引入的顶级语句(top-level statements)特性。它允许你直接在文…...
Rustdesk客户端编译后固定密码不稳定时好时坏
环境: rustdesk1.19 问题描述: Rustdesk客户端编译后固定密码不稳定时好时坏 解决方案: 出现固定密码不稳定的问题可能有多种原因,下面是一些可能的解决方法: 密码强度:确保所设置的固定密码足够强大…...
小程序利用WebService跟asp.net交互过程发现的问题并处理
最近在研究一个项目,用到asp.net跟小程序交互,简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮 出现如下错误: 百思不得其解,试了若干方法,都不行。 因为…...
TitanIDE与传统 IDE 比较
与传统IDE的比较 TitanIDE 和传统 IDE 属于不同时代的产物,在手工作坊时代,一切都是那么的自然,开发者习惯 Windows 或 MacOS 原生 IDE。不过,随着时代的变迁,软件行业已经步入云原生时代,TitanIDE 是顺应…...
反序列化动态调用 [NPUCTF2020]ReadlezPHP1
在源代码上看到提示 访问一下看看 代码审计一下 <?php #error_reporting(0); class HelloPhp {public $a;public $b;public function __construct(){$this->a "Y-m-d h:i:s";$this->b "date";}public function __destruct(){$a $this->a;…...
Hadoop面试重点
文章目录 1. Hadoop 常用端口号2.Hadoop特点3.Hadoop1.x、2.x、3.x区别 1. Hadoop 常用端口号 hadoop2.xhadoop3.x访问HDFS 端口500709870访问 MR 执行情况端口80888088历史服务器1988819888客户端访问集群端口90008020 2.Hadoop特点 高可靠:Hadoop底层维护多个数…...
【ONE·基础算法 || 分治·快排并归】
总言 主要内容:编程题举例,理解分治的思想(主要是对快排、并归的应用)。 文章目录 总言1、基本介绍2、颜色分类(medium)2.1、题解 3、快速排序(medium)3.1、题解ÿ…...
Python 从0开始 一步步基于Django创建项目(11)注册新用户
1、修改C:\D\Python\Python310\study\snap_gram\users路径下的urls.py 添加‘注册新用户’URL。 #注册新用户 path(register/,views.register,nameregister), 2、修改C:\D\Python\Python310\study\snap_gram\users路径下的views.py 编写URL对应的视图函数register。 def r…...
银行监管报送系统介绍(十二):非居民金融账户涉税信息报送
国家税务总局、财政部、中国人民银行、中国银行业监督管理委员会、中国证券监督管理委员会、国家金融监督管理总局2017年5月9日发布、2017年7月1日起施行的《非居民金融账户涉税信息尽职调查管理办法》。 一、《管理办法》出台的背景是什么? 受二十国集团&…...
土壤有机质空间分布数据
土壤有机质(soil organic matter)是土壤中含碳有机化合物的总称,包括土壤固有的和外部加入的所有动植物残体及其分解产物和合成产物。主要来源于动植物及微生物残体,可分为腐殖质和非腐殖物质。一般占土壤固相总重的10%以下&#…...
Unity图集编辑器
图集编辑器 欢迎使用图集编辑器新的改变编辑器图片 欢迎使用图集编辑器 Unity图集操作很是费劲 无法批量删除和添加图集中的图片 新的改变 自己写了一个图集编辑器 客: 支持批量删除 左键点击图片代表选中 右键点击图标定位到资产支持批量添加 选中图片拖拽到编…...
【JS笔记】JavaScript语法 《基础+重点》 知识内容,快速上手(六)
面向对象OOP 首先,我们要明确,面向对象不是语法,是一个思想,是一种 编程模式面向: 面(脸),向(朝着)面向过程: 脸朝着过程 》 关注着过程的编程模…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
Spring Boot + MyBatis 集成支付宝支付流程
Spring Boot MyBatis 集成支付宝支付流程 核心流程 商户系统生成订单调用支付宝创建预支付订单用户跳转支付宝完成支付支付宝异步通知支付结果商户处理支付结果更新订单状态支付宝同步跳转回商户页面 代码实现示例(电脑网站支付) 1. 添加依赖 <!…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...
