How to divide the cylinder into layers and then measure the volume of each layer???

6 ビュー (過去 30 日間)
M.S. Khan
M.S. Khan 2020 年 8 月 30 日
HI honorable members of matlab, i am trying to measure volume of cylinder using layers. I have measure the volume of cylinder using conhull function but i want to divide the the cylinder into layers having certain thickness. Then i want to measure volume of each layer or slice. The sum of volume of all layers should give me the same volume as a cylinder.
Thanks in advance for your cooperation and help.
h = 20; % height
ra = 5; % radius
% Create constant vectors
tht = linspace(0,2*pi,100)
z = linspace(0,h,20)
% Create cylinder
xa = repmat(ra*cos(tht),20,1)
ya = repmat(ra*sin(tht),20,1)
za = repmat(z',1,100)
% To close the ends
X = [xa*0; flipud(xa); (xa(1,:))*0]
Y = [ya*0; flipud(ya); (ya(1,:))*0]
Z = [za; flipud(za); za(1,:)]
% Draw cylinder
[TRI,v]= surf2patch(X,Y,Z,'triangle')
patch('Vertices',v,'Faces',TRI,'facecolor',[0.5 0.8 0.8],'facealpha',0.8)
view(3); grid on; axis square; title('Cylinder','FontSize',12)
%% Volume using convhull() function
[~,V]=convhull(X,Y,Z)
%% volume measure using the formula
volume_cylinder = pi * ra^2 * h

回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by