Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

I wrote a code for determining the volume need for each stage of a rocket

조회 수: 1 (최근 30일)
Steven
Steven 2013년 7월 28일
마감: MATLAB Answer Bot 2021년 8월 20일
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
dpb
dpb 2013년 7월 28일
What should the net height be of higher stages????

답변 (1개)

Youssef  Khmou
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
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!

Translated by