How to create a function that calculates and returns the volume and cross-sectional area of a cylinder based on the radius and height?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hello to matlabs user Please help me I am stuck on a problem :( Does anyone have code for a function that calculates and returns the volume and cross-sectional area of a cylinder based on the radius and height? I also need code for a function that radius and height can not be negative. Does anyone have this or have an idea how to do this? Thanks so much.
댓글 수: 0
채택된 답변
Massimo Zanetti
2016년 10월 5일
Here it is
function A=sect_area_cylinder(R,H,alpha)
%Cylinder of radius R and height H,
%its base-circle center coincide with the point (0,0,0).
%The intersecting plane is supposed to rotate around the
%line (x=0,y=H/2) with angle ALPHA (in degrees)
if (R<=0)||(H<=0)
error('Input positive R,H');
end
if alpha==0
%the cross-section is a circle
A=R^2*pi;
elseif alpha==90
%the cross section is a rectangle
A=2*R*H;
elseif (0<alpha)&&(alpha<90)
%the cross section is an ellipse
%of short radius R and long radius R/cos(alpha)
A=pi*R*R*cos(alpha*pi/180);
else
disp('alpha in [0,90]');
end
댓글 수: 2
Massimo Zanetti
2016년 10월 5일
Cross section is a circle only if alpha=0 (the intersecting plane is horizontal). Alpha is used for calculation on in the case it is greater than 0 and less than 90 because the radii of the ellipse depend on it.
If this answer helped you, please accept it.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!