储油罐的变位识别与罐容表标定
摘要
加油站中的对储油罐中油的容量的确定是一个非常重要的事情,只有知道储油罐中的油的多少才能知道何时需要对储油罐进行加油,以及了解埋在地底下的储油罐是否由于地基变形,罐面被腐蚀等原因而发生漏油等情况。因此,很有必要建立一个关于储油罐的变位识别与罐容表标定的数学模型。
通过对该题目中的各种情况的具体分析,我们建立了储油罐的变位识别与罐容表标定的数学模型,通过这个模型解决了该题目中的所有问题。并通过题目中所给的数据,利用最小二乘法验证所建立的模型的正确性。
我们在这两个问题中主要利用了分割,积分求和的思想,以及相应的数学运算建立所需要的数学模型。首先将油罐用定积分的思想进行分割,再用微积分的思想进行求和,经过一定地数学积分运算,得到了油位高度和油罐储油量的关系式,建立了数学模型。模型建立后,再利用附表的数据结合matlab软件进行拟合分析,用Java编程运算出油罐容表,用高斯迭代算法推算出偏转角度。
关键词:罐容表 罐体变位 微分模型 最小二乘法
一、问题提出与重述
通常加油站都有若干个储存燃油的地下储油罐,并且一般都有与之配套的“油位计量管理系统”,采用流量计和油位计来测量进/出油量与罐内油位高度等数据,通过预先标定的罐容表(即罐内油位高度与储油量的对应关系)进行实时计算,以得到罐内油位高度和储油量的变化情况。许多储油罐在使用一段时间后,由于地基变形等原因,使罐体的位置会发生纵向倾斜和横向偏转等变化(以下称为变位),从而导致罐容表发生改变。按照有关规定,需要定期对罐容表进行重新标定。
为了研究解决储油罐的变位识别与罐容表标定的问题,我们需要完成以下问题:
1、为了掌握罐体变位后对罐容表的影响,先利用一个小椭圆型储油罐(两端平头的椭圆柱体),分别对罐体无变位和倾斜角为a=4.1°的纵向变位两种情况做了实验,然后建立数学模型来研究罐体变位后对罐容表的影响,求出罐体变位后油位高度间隔为1cm的罐容表标定值。
2、在第一题实验的基础上,要对实际储油罐进行研究,建立罐体变位后标定罐容表的数学模型,即罐内储油量与油位高度及变位参数(纵向倾斜角度a和横向偏转角度b)之间的一般关系。然后利用罐体变位后在进/出油过程中的实际检测数据,确定该模型的变位参数,并求出罐体变位后油位高度间隔为10cm的罐容表标定值。进一步利用那些实际检测数据来分析检验该模型的正确性与方法的可靠性。
二、问题假设
1、假设在地底下的储油罐以及储油罐中的油不会受温度的影响而产生热胀冷缩;
2、假设储油罐使用一定时间后,地基变形等原因不会使储油罐的表面变形;
3、忽略第一问中所提供的数据的测量误差。
三、问题分析与模型建立
问题一:
1.问题分析
2.符号说明
3.模型建立与问题解答
计算油罐的体积,如下图部分
为了研究所建立模型的可靠性,我们利用MATLAB绘画出有变位时题目自带的附件1和我们模型算出的灌油表作对比。
观察图,我们发现两曲线并不是完全吻合,那是因为汽油易挥发性等原因,但两曲线是基本吻合的。所有我们可以推断我们建立的模型是可靠的。
为研究罐体变位后对罐容表的影响,我们还是利用MATLAB绘画出罐体没变位,有变位时灌油表。
观察图,我们发现两曲线并不吻合。当H=0时,无变位的罐体油量值为0,而有变位的油量值就可能不为0了;当H接近1.1时,无变位的油量值明显大于有变位的;无变位曲线变化率稳定,而有变位曲线变化率不稳定(在H较小时,变化率大;H较大时,变化率小)。所以罐体变位后对罐容表有一定影响。
问题二:
1.问题分析
对于问题(2),我们要解决的是实际储油罐的问题。解决因地形变化等原因,使罐体的位置会发生纵向倾斜和横向偏转等变化,从而导致罐容表发生改变的问题,是可以解决。解决问题,要从下面两个方面入手:
a)找到储油罐的说明书,在说明里弄清楚储油罐的结构规格,包括储油罐的高、长、半径等数据。
b)取到近段时间记录储油罐的油位高及对应的油量的进/出值。
有了这两方面的资料数据,我们就可以完成解决问题了。首先,根据储油罐的结构规格,建立模型,列出罐内储油量与油位高度及变位参数(纵向倾斜角度a和横向偏转角度b )之间的一般关系。然后利用油罐体近段时间的记录值,根据我们所建立的数学模型确定变位参数,从而确定罐内油位高度与储油量的对应关系。这样,我们就能修改预先标定的罐容表。
2.符号说明
3.模型建立与问题解答
为了计算简单,先计算如下图所示灰色部分的体积
分两部分:
接下利用Java编程(代码见附录3),算出油面高度从0-3m的每间隔为10cm的罐容表标定值,表格见附录4。
为了研究所建立模型的正确性与方法的可靠性,我们利用MATLAB绘画出题目自带的附件2和我们模型算出的灌油表作对比。
观察图,我们发现两曲线不重合,那是因为汽油易挥发性等原因,但两曲线是基本吻合的。所有我们可以推断我们建立的模型是正确的、方法是可靠的。
四、参考文献
[1] 同济大学应用数学系,高等数学第五版,高等教育出版社,2002年
[2] 周开利,MATLAB基础及应用教程,北京:北京大学出版社,2007年
[3] 吉奥丹诺,数学建模(原书第3版),北京:机械工业出版社,2006年
五、附录
附录1:
public class Shu {public static void main(String args[]) {getV();}public static void getV() {//根据油的高度H计算变位后油罐内油的体积double a = 0.89;double b = 0.6;double tQ = 0.07168;double v = 0, l1 = 0, l2 = 0, H = 0;double lo = (H+0.02867)/tQ;System.out.println("体积\t\t\t\t高度");for(; H <= 1.21;) {if(H <= 0.14695) {l1 = lo;}else if(H <= 1.17133) {l1 = 2.45;}if(H > 0 && H <= 1.17133) {v = a/b*((1.0/3/tQ)*Math.pow((b*b-Math.pow((lo*tQ-l1*tQ-b),2)),1.5)+b*b*(l1*Math.asin((lo*tQ-l1*tQ-b)/b)-1.0/tQ*Math.pow(b*b-Math.pow((lo*tQ-l1*tQ-b),2),0.5)+(lo*tQ-b)/tQ*Math.asin(l1*tQ/b))+0.5*Math.PI*b*b*l1)-a/b*((1.0/3/tQ)*Math.pow((b*b-Math.pow((lo*tQ-l2*tQ-b),2)),1.5)+b*b*(l2*Math.asin((lo*tQ-l2*tQ-b)/b)-1.0/tQ*Math.pow(b*b-Math.pow((lo*tQ-l2*tQ-b),2),0.5)+(lo*tQ-b)/tQ*Math.asin(l2*tQ/b))+0.5*Math.PI*b*b*l2);}else if(H > 1.1713 && H <= 1.2) {lo = (2.05*tQ-H+1.2)/tQ;l1 = lo;v = a*b*Math.PI*2.45-(a/b*((1.0/3/tQ)*Math.pow((b*b-Math.pow((lo*tQ-l1*tQ-b),2)),1.5)+b*b*(l1*Math.asin((lo*tQ-l1*tQ-b)/b)-1.0/tQ*Math.pow(b*b-Math.pow((lo*tQ-l1*tQ-b),2),0.5)+(lo*tQ-b)/tQ*Math.asin(l1*tQ/b))+0.5*Math.PI*b*b*l1)-a/b*((1.0/3/tQ)*Math.pow((b*b-Math.pow((lo*tQ-l2*tQ-b),2)),1.5)+b*b*(l2*Math.asin((lo*tQ-l2*tQ-b)/b)-1.0/tQ*Math.pow(b*b-Math.pow((lo*tQ-l2*tQ-b),2),0.5)+(lo*tQ-b)/tQ*Math.asin(l2*tQ/b))+0.5*Math.PI*b*b*l2));}System.out.println(v+"\t\t\t"+H);H += 0.01;lo = (H+0.02867)/tQ;}}
}
附录2:
高度(m) |
液体体积 |
高度(m) |
液体体积 |
0.01 |
0.243381352 |
0.61 |
2.191677777 |
0.02 |
0.338459734 |
0.62 |
2.234977414 |
0.03 |
0.413281526 |
0.63 |
2.278093027 |
0.04 |
0.473061843 |
0.64 |
2.320991899 |
0.05 |
0.521227675 |
0.65 |
2.363640659 |
0.06 |
0.560187359 |
0.66 |
2.406005159 |
0.07 |
0.591718603 |
0.67 |
2.448050356 |
0.08 |
0.617183916 |
0.68 |
2.489740179 |
0.09 |
0.637659135 |
0.69 |
2.531037383 |
0.1 |
0.654014522 |
0.7 |
2.571903392 |
附录3:
public static void getV2(double r,double h,double ta,double lo,double l,double R) {double v1 = 0;double v2 = 0;v1 = -1/3*Math.pow(2*R*(lo-l)*ta-(lo-l)*(lo-l)*ta*ta,1.5)+R*R*(lo*ta-l*ta-R)*Math.asin((lo*ta-l*ta-R)/R+R*R*Math.sqrt(2*R*(lo-l)*ta-(lo-l)*(lo-l)*ta*ta));v2 = 0.5*Math.PI*r*r-Math.PI*h*h*h/6+2*h*Math.sqrt(2*r-h*h-1)/3-2*h*r*Math.sqrt(2*r-h*h-1)/3-(1-3*r+2*r*r*r)*Math.atan(h/Math.sqrt(2*r-h*h-1))-(h*h*h-3*r*r*h)*Math.atan((r-1)/Math.sqrt(2*r-h*h-1))+2*r*r*r/3*Math.atan(h*(r-1)/r/Math.sqrt(2*r-h*h-1));}
附录4:
显示油高/mm |
显示油量容积/L |
显示油高/mm |
显示油量容积/L |
0.00 |
286.60 |
1510.00 |
32476.03 |
10.00 |
410.22 |
1520.00 |
32686.48 |
20.00 |
533.84 |
1530.00 |
32896.93 |
30.00 |
657.46 |
1540.00 |
33107.38 |
40.00 |
781.08 |
1550.00 |
33317.83 |
50.00 |
904.70 |
1560.00 |
33528.28 |
60.00 |
1028.32 |
1570.00 |
33738.73 |
70.00 |
1151.94 |
1580.00 |
33949.18 |
80.00 |
1275.56 |
1590.00 |
34159.63 |
储油罐的变位识别与罐容表标定相关推荐
- 【python】使用Antlr4实现识别sql中的表或视图名
前言 先上成果预览图吧 作为一个数据库sql开发者,肯定有很多人和我一样,想要有一个工具,能传入任意sql,解析出sql中的所有表. 我之前有一篇文章[AIO]将任意查询sql转换成带远程数据库DBL ...
- 【分享】集简云小程序识别身份证同步到表单流程搭建示例
1. 场景 通过小程序智能识别功能,可将居民提供的照片自动识别成文字并同步到表单系统存储,如Excel 365.伙伴云.轻流等进行汇总,实现防疫信息采集自动化! 2. 如何搭建自动化流程? 提前准备工 ...
- 光驱无法识别,提示注册表信息不完整的解决办法
今天早上省了110元的刻录机的钱,如题的错误困扰了好几天了 由于其配置信息(注册表中的)不完整或已损坏,Windows 无法启动这个硬件设备. (代码 19)解决办法 偶尔遇到了光驱加载设备错误的问题 ...
- 数模国赛历年题目 1992——2021
数模国赛历年题目 1992--2021 获取方式 关注 公众号 数模零到一 回复关键词[国赛历年题目]即可获取 不仅包含1992-2021年题目文档,也包含题目原始数据.(无水印) 数模零到一数据库 ...
- 一篇文章教你如何写数学建模的论文
需要优秀往年数学建模论文的可以评论留下邮箱,我将我收集到的发给大家,一起学习进步!!! 文章目录 一.建模论文的意义和评价标准 二.论文的组成概要 三.题目分析 四.摘要 1. 摘要的注意 2. 摘要 ...
- 2-8、蒙特卡洛模拟
一.背景 蒙特卡罗模拟方法 (Monte Carlo simulation) 诞生于上个世纪40年代美国的"曼哈顿计划",名字来源于赌城蒙特卡罗.蒙特卡罗算法从某种意义上而言, ...
- 用于表检测和结构识别的深度学习:综述
摘要 表格无处不在,从科学期刊.论文.网站和报纸,到我们在超市购买的物品.因此,检测它们对于自动理解文档内容至关重要.由于深度学习网络的快速发展,表格检测的性能显著提高.本次总结的目的是深入了解表格检 ...
- java人名识别_HanLP-基于HMM-Viterbi的人名识别
有关于隐马的原理,打算在后边的文章中再去介绍,今天主要介绍一下HanLP是如何利用HMM来做人名识别的.基本思想是把词语序列作为观测序列,将角色序列作为隐藏序列,当模型预测出最佳隐藏状态序列后,利用模 ...
- SSC:基于点云语义上下文的大规模激光SLAM的位置识别方法
文章:SSC: Semantic Scan Context for Large-Scale Place Recognition 作者:Lin Li1 , Xin Kong1 , Xiangrui Zh ...
- oracle某个表丢失,丢失一个控制文件并恢复数据库
只丢失或损坏一个控制文件的情况下来恢复数据库,相对来说简单一点.一般来说,控制文件都需要形成 一个多路径冗余策略,来提高数据库的安全性.这样的话只需将完好的控制文件复制一个副本放到丢失或者 损坏了的控 ...
最新文章
- 网格的铺设问题——骨牌
- C++ 最大公约数排序
- [原创]敏捷管理实践看板思维导图
- font HTML语言,HTML font 标签
- 系统安装,重装与优化:chapter2 硬盘的分区与格式化
- Netty时间轮调度原理分析,再不了解你就out啦
- stm32f103电子钟心得体会_浅谈STM32_RTC闹钟
- 强网杯Web部分review
- 软件项目组织管理(二、三)项目管理与信息技术环境、项目管理过程组
- 绿色iPhone 13和紫色iPad Air将在明天发布?网友:苹果又寻思在配色上“整活儿”...
- jpa 数据库方言_使用Hibernate和Oracle 10g方言,如何用JPA生成我的id?
- 微盾php脚本解密,微盾php解密(黑刀微盾解密专家)
- 如何看待第三方百度云 Pandownload 作者被捕?
- linux高性能集群搭建,sge linux高性能集群的搭建与使用
- 2019人工智能大数据精英大会圆满落幕(内附大会PPT干货资源)
- 高等数学——积分中值定理
- 繁星课堂oracle,《繁星》课堂实录及点评
- 在计算机网络中ln代表的是,数学中e和ln的关系?
- TIME_WAIT和CLOSE_WAIT状态区别
- python语音播报天气预报_Python3爬虫之自动查询天气并实现语音播报
热门文章
- VUE调用高德地图之热力图
- UCOSII系统移植详解
- 计划策略10、11、40
- 一个简单的HTML网页——传统节日春节网页(HTML+CSS)
- Spark源码之存储体系简介及缓存cache源码流程图
- 常见笔顺错误的字_原来这么多年,我写字的笔顺一直都是错的
- 用u盘安装mysql,奥维互动地图企业服务器基本环境安装 ——U盘引导安装CentOS 6.5...
- react 如何引入打印控件 CLodop
- nginx跨域配置步骤
- Java实现多元t分布函数(Multivariate t distributions)