Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
I wrote a code for determining the volume need for each stage of a rocket
조회 수: 1 (최근 30일)
이전 댓글 표시
clear;clc
%create the statement
radius1=16.5;height1=138.0;radius2=16.5;height2=81.5;radius=30.8;height3=61.6;
height=input('Enter a value for height');
volume=(height)
if height<=138
volume=(pi*height*radius1^2)
disp(volume)
elseif height<=219.5
volume=(pi*height1*radius1^2+pi*(138-height)*radius2^2)
disp(volume)
elseif height<=281.1
volume=(pi*height1*radius1^2+pi*(138-height)*radius2^2+pi*(219.5-height)*radius3^2)
disp(volume)
else height>281.1
disp(-1)
end
I run it through the checker and the code is still wrong when I run it through the grader. What might I be doing wrong in writing my code. I gave the height and radius in each stage above and I am using the volume formula for a cylinder.
댓글 수: 1
답변 (1개)
Youssef Khmou
2013년 7월 28일
Steven, The error i can see is that the volume is negative, because you substract the height from 138 & 219.5 while its the reverse, try this version :
clear;
radius1=16.5; height1=138.0;
radius2=16.5; height2=81.5;
radius3=30.8; height3=61.6;
height=input('Enter a value for height:\n');
if height<=138
volume=(pi*height*radius1^2);
elseif (height>138) && (height<=219.5)
volume=(pi*height1*radius1^2+pi*(height-138.00)*radius2^2);
elseif (height>219.5)&&(height<=281.1)
volume=(pi*height1*radius1^2) + (pi*(height-138.00)*radius2^2) + ...
(pi*(height-219.5)*radius3^2);
elseif height>281.1
error(' Maximum height exceeded hmax=281.1');
end
fprintf(' Volume=%.2f m^3\n',volume);
댓글 수: 1
dpb
2013년 7월 28일
I'd preferred the hint version for HW problems instead of just doing it for the poster...but that's me.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!