我们将附件2中的油高代入油罐没有发生偏转时的求油罐容积的方程,然后将求得的理论值和表中的实际值作残差,得到残差图。同样利用Matlab做出相对误差与深度的关系图,观察两个表中的数据,发现误差在万分之几徘徊,影响是微乎其微的,这可以说明我们算出的球冠部分任意高度的截面积与圆柱体部分任意高度的截面积的公式是准确的。由此,可以看出在油罐变位时,我们利用这两个面积积分是合理的,也就是说我们为解决第二个问题所建立的模型是可行的。
图6.8 图6.9 另外,我
们还对求出的绝对误差 相对误差
?,?利
用原题所给附件2中的数据进行了检验,采用了三种方法。方法一:将?,?代入上半部数据,其平均相对误差为0.5114%,而将?,?代入下半部数据,其平均相对误差为0.572%,说明求出的?,?是较优的;
方法二:我们又根据下半部分数据,计算出其相应的?1,?1,并带入,求得其平均误差为0.5715%,与?,?所对应的平均误差之差仅为0.0005%,说明所求的?,?是相当接近于准确解的。
方法三:所选两个数据?h>1m时,绝对误差都在10L以内,相对误差都在0.01%内,如图,由此说明模型稳定、方法可靠,?,?值与准确解的误差微乎其微
6.5模型二优劣分析:
6.5模型二优劣性分析
6.5.1优点:
(1)模型二采用最小二乘法的思想,使所求函数逼近?,?所在直线,是精度提高,程序运
21
行效率提高。
(2)程序采用人工智能控制遗传算法,相对于传统的遗传算法,由于传统的遗传算法适合多变量大数据量的计算。因此,这里我们大大简化了计算过程,通过人工给定模糊初始,即给定模糊范围,粗精度不需要很小,程序运行步骤少,程序总体运行时间很短。
(3)程序根据输入的参数进行定长的分段,求函数值并选取其中n个最优解,根据最优解所在位置进一步缩小搜索范围,直到范围小于程序所给的精度。若程序检验10?10个数据,当选择搜索步长为10时,只需要进行100?5?6次检验,是穷举检验步骤的3?10。
2x当搜索步长为x时,需要进行?0.5x?logx(y),检验y ?y个数据。
?644(4)模型中求积子程序采用龙贝格求积方法,大大减化了求积过程,并能保证精度在
0.00001之上,提高运算速度达到100倍,每次积分时间不足0.001秒。相对于梯形公式和辛卜生公式又能大大保证其精度。 6.5.1缺点:
效率没有传统遗传算法高,计算所需时间比传统遗传算法长。 (2)算法难度大大高于梯形公式和辛卜生公式,程序量较大。 模型推广
本论文所建立的模型实用性很强,两种模型可以用于不同形状的油罐的变位情况,比如可以利用我们建立的模型设计出一种检测仪器,用以检测加油站的油罐是否变位,及横纵向变位的角度。但是我们建立的模型存在一定的误差,在一些需要精确测量的场合不适用。 结论
本文 针对储油罐的变位识别与罐容表标定问题,通过求微积分方法,得到了储油罐标定的一般理论公式,建立了两种不同类型求储油罐罐容表的模型。
对于问题一中小椭圆形储油罐,我们先对其无变位情况进行求解,发现误差不可忽略,对误差产生的原因做了定性分析,其中主导因素的是油管的体积,并对误差进行一次曲线拟合修正。然后,求得变位情况下的一般理论公式,利用原题附件1中变位进油数据对公式进行分段曲线拟合修正,进一步得到了油罐容量V和油面高度h的函数关系
?0.4?h'0?h?2.05tan? ??0tan?S(x)dx?E2(h)?2.45?2.05tan??h?1.2?0.4tan? V???S'(x)dx?E2(h)0?1.2?h'?2.45S(x)dx??ab(0.4?)?E2(h)1.2?0.4tan??h?1.2 1.2?h??tan??0.4?tan?
通过原题附件1中变位出油数据验证了模型的准确性。利用残差分析法,求得理论值和实验
值的相对误差为0.05%,说明该模型稳定、可行。进而利用该函数关系求得了罐体变位后油位高度间隔为1cm的罐容表,并给出了罐体变位后对罐容表的影响一般关系式,总结出罐体变位后对罐容表影响趋势是当测量的油面高度一定时,随着?的增大,对罐容表测定的油罐容积误差变大。
对于问题二中实际储油罐,我们先对其无变位情况进行求解,所求结果与原题附件2中所给
?510标定容量的相对误差仅为。进一步推广得出了油罐容量V和?,?一般函数积分关系式。
22
?h?1sdx?3?tan?sdx0?h??6tan?
?12??a1 9b?1??as1dx??1s2dx??9s1dx6tan??h??1.5?3tan? ? 9ba?12V???s1dx??s2dx??s2dx??a(R?)1.5?3tan??h??7tan??1.5 a193?9ba10?b ?122??as1dx??1s2dx??9s1dx??a(R?3)??(10?b)(R?3)7tan??1.5?h??3?2tan? ? ?9sdx?bsdx??(10?b)2(R?10?b)??(R?1)3?h?23?2tan??h??1.2 ?91??3?tan33??
在求积分的过程中,我们利用龙贝格求积方法对其进行求解,精度达到99.999%,求积一次不足1毫秒。由于测量过程中,油浮波动不可避免,所以数据有一定波动,不存在与数据完全吻合的?,?值。在求?,?的过程中,我们利用最小二乘法的思想,编程采用精确控制的
oo??2.116,??4.252遗传算法,利用原题附件2中所给前半部分的300组数据求出。为
了验证?,?值的准确性,我们将手动计算与计算机图像法相结合,进行层层放大逼近求解,最终结果基本一致。为了减小误差,我们对其进行了二次拟合修正,发现修正后的值对于附
件2中后半部300组数据并不明显,故不加修正。我们将所求值带入后半部分数据进行检验,
oo?'?2.112,?'?4.45与后半部分数据所求得的对比,求得两组角度所对应的相邻两组数
据的排出油量与计算所得值的平均相对误差之差5?10,而且当所选任意两组数据高度之差大于1米时,这两组数据所对应的高度之间排出油量与计算所得值相对误差都在0.01%以内,由此说明该模型稳定、方法可靠,?,?值与准确解的误差微乎其微。最后给出了罐体变位后油位高度间隔为10cm的罐容表标定值。
参考文献
[1]王宪杰、侯仁民等,高等数学典型应用实例与模型,北京:科学出版社,2005 [2]王建卫、曲中水等,MATLAB 7.X 程序设计,北京:中国水利水电出版社,2007
[3]程继元,浅谈影响油罐标定与计量因素及其修正方法,石油商技,第22卷第2期:33,2004
[4]孙志忠等,计算方法与实习,江苏:东南大学出版社,2005.
23
?6
附录1:精确控制遗传算法
function f=fsearch(real,pin,mina,maxa,minb,maxb,eps,eps2,n) %求a,b精确控制遗传算法
% real 油高数据矩阵 单位 M % pin 抽油数据矩阵 单位L % mina a 搜寻下线 % maxa a 搜寻上线 % minb b 搜寻下线 % maxb b 搜寻上线 % eps 粗精度 % eps2 细精度 % n 保留数
global dt; %定义全局变量dt dt=zeros(1000,3); %初始化 global ct; %定义全局变量ct ct=1; %初始化
search(real,pin,mina,maxa,minb,maxb,eps,eps2,n); %调用查找算法 [a1,b1]=max(dt(:,3)); %在输出次优解解中寻找最优解 f=dt(b1,:);
24
disp(f);
%************************************************************************** function s=search(real,pin,mina,maxa,minb,maxb,eps,eps2,n) %查找的递归算法 if eps k(1)=realt0(real(1)/1000,(mina+maxa)/2,(minb+maxb)/2); %符合条件输出次优解 w=0; for i=2:length(real) k(i)=realt0(real(i)/1000,(mina+maxa)/2,(minb+maxb)/2); w=w+(abs((k(i-1)-k(i))*1000-pin(i))/pin(i))^2*10000; end dt(ct,1)=(mina+maxa)/2; dt(ct,2)=(minb+maxb)/2; dt(ct,3)=w; ct=ct+1; s=1; else %未符合条件,进行筛选繁衍 m1=zeros(round((maxa-mina)/eps+1),round((maxb-minb)/eps+1)); e=1; w=0; perc(1)=0; for a=mina:eps:maxa %信息采集(求各个数据相对误差平方和) for b=minb:eps:maxb k(1)=realt(real(1)/1000,a,b); for i=2:length(real) k(i)=realt(real(i)/1000,a,b); w=w+(abs((k(i-1)-k(i))*1000-pin(i))/pin(i))^2*10000; end m1(round((a-mina)/eps+1),round((b-minb)/eps+1))=w; w=0; end end ab=sortn(m1,n); %调用排序子程序筛选较有数据 for i=1:n a(i)=eps*(ab(i,1))+mina; b(i)=eps*(ab(i,2))+minb; end for i=1:n search(real,pin,a(i)-eps,a(i)+eps,b(i)-eps,b(i)-eps,eps^2/(maxa-maxb),eps2,n); %递归调用(类似于克隆技术的繁衍后代) end end %************************************************************************** 25 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库储油罐的变位识别与罐容表标定(程序超多附录超详细) - 图文(5)在线全文阅读。
相关推荐: