d9=int(f9,y00,9);
v432=[v432 eval(d9)]; end
v43=v431+v432; v4=v41+v42+v43;
disp('第四部分的体积'); v4'
%第五部分体积 h=2.9:0.1:3;
h1=h+2*tan(a*pi/180); y0=[];
%求水平面与左球冠的交点 for i=1:length(h1)
f1=(y-0.625)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x0=solve(f1);
y0=[y0 min(eval(x0))]; end %y0
v51=[]; v52=[]; v53=[]; v541=[]; v542=[]; v54=[]; v5=[];
for i=1:length(h1) %求左球冠体积
f6=pi*(R^2-(0.625-y)^2); d5=int(f6,-1,0); v51=[v51 eval(d5)];
%求圆柱体积
f4=(y-7.375)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2;%求水平面与右球冠的交点
x00=solve(f4);
y00=max(eval(x00));
v52=[v52 pi*1.5^2*y00];
f3=((1.5^2)/2*asin((-y*tan(a*pi/180)+h1(i)-1.5)/1.5)+((-y*tan(a*pi/180)+h1(i)-1.5)/2)*sqrt(1.5^2-(-y*tan(a*pi/180)+h1(i)-1.5)^2)+pi*1.5^2/
31
4)*2;
d3=int(f3,y00,8); v53=[v53 eval(d3)];
%求右球冠体积
f5=((R^2-(y-7.375)^2)/2*asin((h1(i)-y*tan(a*pi/180)-1.5)/(sqrt(R^2-(y-7.375)^2)))+((h1(i)-y*tan(a*pi/180)-1.5)/2)*sqrt(R^2-(y-7.375)^2/2-(h1(i)-y*tan(a*pi/180)-1.5)^2)+pi*(R^2-(y-7.375)^2)/4)*2; d4=int(f5,8,y00);
v541=[v541 eval(d4)];
f9=pi*(R^2-(y-7.375)^2); d9=int(f9,y00,9);
v542=[v542 eval(d9)]; end
v54=v541+v542;
v5=v51+v52+v53+v54;
disp('第五部分的体积'); v5'
附录四:
用来求纵向和横向同时变位的第一部分的体积:
syms y;
a=3;R=1.625;b=4.3;
%第一部分体积 h=0:0.1:0.3;
h1=h*cos(b*pi/180)+1.5*(1-cos(b*pi/180))+2*tan(a*pi/180); y0=[];
for i=1:length(h1)
f1=(y-0.625)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x0=solve(f1);
y0=[y0 min(eval(x0))]; end y0'
v11=[]; v12=[];
for i=1:length(h1) %求左球冠体积
32
f2=((R^2-(0.625-y)^2)/2*asin((h1(i)-y*tan(a*pi/180)-1.5)/(sqrt(R^2-(0.625-y)^2)))+((h1(i)-y*tan(a*pi/180)-1.5)/2)*sqrt(R^2-(0.625-y)^2-(h1(i)-y*tan(a*pi/180)-1.5)^2)+pi*(R^2-(0.625-y)^2)/4)*2; t=y0(i); t
d2=int(f2,t,0);
v11=[v11 eval(d2)];
%求圆柱体积
f3=((1.5^2)/2*asin((-y*tan(a*pi/180)+h1(i)-1.5)/1.5)+((-y*tan(a*pi/180)+h1(i)-1.5)/2)*sqrt(1.5^2-(-y*tan(a*pi/180)+h1(i)-1.5)^2)+pi*1.5^2/4)*2;
d3=int(f3,0,(h1(i))/(tan(a*pi/180))); v12=[v12 eval(d3)]; end
v1=v11+v12;
disp('第一部分的体积'); format long; v1'
附录五:
用来求纵向和横向同时变位的第二部分的体积:
syms y;
a=3;R=1.625;b=4.3;
%第二部分体积 h=0.4:0.1:1.3;
h1=h*cos(b*pi/180)+1.5*(1-cos(b*pi/180))+2*tan(a*pi/180); y0=[];
%求水平面与左球冠的交点 for i=1:length(h1)
f1=(y-0.625)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x0=solve(f1);
y0=[y0 min(eval(x0))]; end y0
v21=[]; v22=[]; v23=[];
for i=1:length(h1) %求左球冠体积
33
f2=((R^2-(0.625-y)^2)/2*asin((h1(i)-y*tan(a*pi/180)-1.5)/(sqrt(R^2-(0.625-y)^2)))+((h1(i)-y*tan(a*pi/180)-1.5)/2)*sqrt(R^2-(0.625-y)^2-(h1(i)-y*tan(a*pi/180)-1.5)^2)+pi*(R^2-(0.625-y)^2)/4)*2; t=y0(i);
d2=int(f2,t,0);
v21=[v21 eval(d2)];
%求圆柱体积
f3=((1.5^2)/2*asin((-y*tan(a*pi/180)+h1(i)-1.5)/1.5)+((-y*tan(a*pi/180)+h1(i)-1.5)/2)*sqrt(1.5^2-(-y*tan(a*pi/180)+h1(i)-1.5)^2)+pi*1.5^2/4)*2;
d3=int(f3,0,8);
v22=[v22 eval(d3)];
%求水平面与右球冠的交点
f4=(y-7.375)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x00=solve(f4);
y00=max(eval(x00));
%求右球冠体积
f5=((R^2-(y-7.375)^2)/2*asin((h1(i)-y*tan(a*pi/180)-1.5)/(sqrt(R^2-(y-7.375)^2)))+((h1(i)-y*tan(a*pi/180)-1.5)/2)*sqrt(R^2-(y-7.375)^2/2-(h1(i)-y*tan(a*pi/180)-1.5)^2)+pi*(R^2-(y-7.375)^2)/4)*2; y00
d4=int(f5,8,y00); v23=[v23 eval(d4)]; end
v2=v21+v22+v23;
disp('第二部分的体积'); format long; v2'
附录六:
用来求纵向和横向同时变位的第三部分的体积:
syms y;
a=3;R=1.625;b=4.3;
%第三部分体积 h=1.4:0.1:1.8;
h1=h*cos(b*pi/180)+1.5*(1-cos(b*pi/180))+2*tan(a*pi/180);
34
y0=[];
%求水平面与左球冠的交点 for i=1:length(h1)
f1=(y-0.625)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x0=solve(f1);
y0=[y0 min(eval(x0))]; end y0'
v311=[]; v312=[]; v31=[]; v32=[]; v33=[]; v3=[];
for i=1:length(h1) %求左球冠体积
f2=((R^2-(0.625-y)^2)/2*asin((h1(i)-y*tan(a*pi/180)-1.5)/(sqrt(R^2-(0.625-y)^2)))+((h1(i)-y*tan(a*pi/180)-1.5)/2)*sqrt(R^2-(0.625-y)^2-(h1(i)-y*tan(a*pi/180)-1.5)^2)+pi*(R^2-(0.625-y)^2)/4)*2; t=y0(i)
d2=int(f2,t,0);
v311=[v311 eval(d2)];
f6=pi*(R^2-(0.625-y)^2); t=y0(i);
d5=int(f6,-1,t);
v312=[v312 eval(d5)];
%求圆柱体积
f3=((1.5^2)/2*asin((-y*tan(a*pi/180)+h1(i)-1.5)/1.5)+((-y*tan(a*pi/180)+h1(i)-1.5)/2)*sqrt(1.5^2-(-y*tan(a*pi/180)+h1(i)-1.5)^2)+pi*1.5^2/4)*2;
d3=int(f3,0,8);
v32=[v32 eval(d3)];
%求水平面与右球冠的交点
f4=(y-7.375)^2+(-y*tan(a*pi/180)+h1(i)-1.5)^2-1.625^2; x00=solve(f4);
y00=max(eval(x00));
35