地平线油位探测装置油位探针注检油查口口出油管油浮子3m油位高度油1m2m6m图1储油罐正面示意图1m地平线油位探测装置油位探针注检油查口口出油管油浮子油水平线α图2储油罐纵向倾斜变位后示意图地平线 油位探针地平线 油位探针油位探测装置油 油 β3m(a)无偏转倾斜的正截面图图3储油罐截面示意图地平线垂直线(b)横向偏转倾斜后正截面图油位探针注油口出油管油浮子1.2m1.2m油α水平线0.4m2.05m1.78m(a)小椭圆油罐正面示意图图4小椭圆型油罐形状及尺寸示意图(b)小椭圆油罐截面示意图
24
9.3 问题一程序 yi.m
clc clear v=([50 100 3356.91 3406.91 3456.91 ..... ..... .....
3506.91 3556.91 3606.91 3656.91
3706.91]+262)./1000;
h=[159.02 176.14 192.59
........ ........ ........ 949.05 963.80 978.91 994.43 1010.43 1026.99 1044.25 1062.37 1081.59 1102.33 1125.32 1152.36
1193.49]./1000; b=0.6; va=size(h);
for i=1:length(h)
25
va(i)=1.3083*(asin((h(i)-b)/b)+(h(i)-b)/b*sqrt(1-(h(i)/b-1)^2)+pi/2); d(i)=va(i)-v(i); end va;
%m=va-v;
%plot(h,v,'r',h,va,'b'); plot(h.*1000,d.*1000) d
yibd3.m
clc clear
%容积与长度的关系 format long h=0:0.01:1.2;
a=0.89; b=0.6;
r=4.1*pi/180; l1=2.45;
lm=2*b/tan(r); v=size(h); xm=size(h); for i=1:length(h)
if h(i)<=lm*tan(r)
xm(i)=h(i)/tan(r)+0.4; end end xm;
for i=1:length(h) q=i;
s=inline('0.89*0.6*(asin(x.*tan((4.1*pi/180))/0.6-1)+0.5*sin(2*asin(x.*tan(4.1*pi/180)/0.6-1))+pi/2)');
%s=inline('a*b*(asin(x*tan(r)/b-1)+0.5*sin(2*asin(x*tan(r)/b-1))+pi/2)'); if xm(i)<=2.45&&x(i)>0
v(i)=quadl(s,0,xm(i),1e-12); elseif xm(i)
v(i)=quadl(s,xm(i)-l1,xm(i),1e-12); elseif xm(i)
v(i)=quad(s,xm(i)-l1,lm,1e-12)+pi*a*b*(xm(i)-lm); end
26
end
v=v*1000; vs=[747.86 797.86 847.86 897.86 947.86 997.86 1047.86 1097.79 1147.79 ...... ........... ......... ........... 3097.73 3147.73 3197.73 3247.73 3297.73
3299.74]+215; j=v-vs' var(j)
%plot(h,v,'-r',h,vs,'-b') %figure 2 plot(h,j,'-o')
9.4问题二程序
fangcha.m
clear clc
h1=[60.00 2632.23 60448.88 149.09 2624.30 60311.43 68.45 2620.67 60248.03 199.27 2610.29 60065.11
。。。。。 。。。。。
149.83 437.81 5477.45
27
118.46 430.86 5347.56 65.81 426.96 5275.11 115.30 420.01 5146.78 57.09 416.53 5082.90 43.13 413.98 5036.26 ];
h1(:,1)=cumsum(h1(:,1)); h2(:,1)=cumsum(h2(:,1)); h3=-h1(:,1)./1000; h4=-h2(:,1)./1000; h5=[h3;h4]; r=2.12*pi/180; n=1.5; R=1.625; bt=4.18*pi/180;
h=([h1(:,2);h2(:,2)]./1000-n).*cos(bt)+n+2*tan(r); l1=8;
lm=2*n/tan(r); x=h./tan(r);
s=inline('1.5^2*(asin(x*tan(2.12*pi/180)/1.5-1)+0.5*sin(2*asin(x*tan(2.12*pi/180)/1.5-1))+pi/2)');
%s=inline('n^2*(asin(x.*tan(r)/n-1)+0.5*sin(2*asin(x.*tan(r)/n-1))+pi/2)'); for i=1:length(h) if x(i)<8&&x(i)>0 v(i)=quadl(s,0,x(i)); elseif x(i)
v(i)=quad(s,x(i)-l1,lm,1e-12)+pi*R^2*(x(i)-lm); end end
for j=1:length(h)
d(j)=h(j)-(R-1)*tan(r)-sqrt(2*R-1); for i=1:999
t1=(R-1)+i/1000;
mt1=asin((t1*tan(r)+d(j))/sqrt(R^2-t1^2)); ht1(i)=t1*tan(r)+d(j)+sqrt(R^2-t1^2); Rt1(i)=sqrt(R^2-t1^2); if ht1(i)>0&&ht1(i)<2*Rt1(i)
st1(i)=(mt1+0.5*sin(2*mt1)+pi/2)*(R^2-t1^2); elseif ht1(i)>=2*Rt1(i) st1(i)=pi*(R^2-t1^2); elseif ht1(i)<=0 st1(i)=0; end
28