📄 tank.m
字号:
L=8; r=2.5; V=pi*r*r*L; dV=5; n=floor(V/dV);
i=0; x=0; mark=zeros(n,1);
for i=1:n
x1=x; x2=r+r; y=1; v=i/L*dV;
for j=1:47
x=(x1+x2)/2;
y=r*r*acos((r-x)/r)-(r-x)*sqrt(x*(r+r-x))-v;
y1=r*r*acos((r-x1)/r)-(r-x1)*sqrt(x1*(r+r-x1))-v;
y2=r*r*acos((r-x2)/r)-(r-x2)*sqrt(x2*(r+r-x2))-v;
if y*y1>0, x1=x; end
if y*y2>0, x2=x; end
end
mark(i)=x;disp([num2str(i*dV),' ',num2str(x)])
end
s=ones(size(mark))*0.1;
s(2:2:n)=0.2; s(20:20:n)=0.4;% s(100:100:n)=0.4;
s=[-s,s];
t=0:pi/180:2*pi; xr=r*cos(t); yr=r*sin(t)+r;
H=plot(s',[mark,mark]','k');set(H,'linewidth',0.5)
axis([-r-.1 r+.1 -0.1 2*r+.1]),axis square, axis off, hold on
H=plot(xr,yr,'k');set(H,'linewidth',2),plot([0 0],[0 2*r],'k')
z=floor(n/4);
yy=mark(4:4:n,1);
for i=1:z,h=text(0.55,yy(i),[num2str(i*20)]);set(h,'fontsize',8),end
hold off
print -deps -r600 tank600
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -