$24
PURPOSE: To introduce the use of a Function.
STEP 1: Create the script file rocket2h2.m as given in the sample code. Please note that some sections of code are reused and can simply be copied and pasted, A PERFECT SCENARIO FOR USE OF A FUNCTION!!!
STEP 2:
Create the script file Lastname_prelab9.m as given in the sample code.
Run Lastname_prelab9.
Enter 6 for the burn time, 6000 for the desired height.
Rerun Lastname_prelab9 but this time enter 7 and 5000.
%ENGR15100 Prelab9.m
%
clc
clear
disp('ENGR15100 Prelab 9')
disp('Your name here')
disp(' ')
%Run script file for rocket calculations
rocket2h2
%rocket2h2.m
%
clc
b=input('Enter desired burn time ');
disp(' ')
h_des=input('Enter desired height ');
disp(' ')
dt=.1;
m=10;
f=2000;
g=32.2;
%calculate constants
v_b=(f/m-g)*b;
h_b=0.5*(f/m-g)*b^2;
h_p=h_b+v_b^2/(2*g);
t_p=b+v_b/g;
figure(2)
%Begin calculating flight
h=0;
k=0;
while h=0
t=k*dt;
k=k+1;
if t<=b
h=0.5*(f/m-g)*t^2;
v=(f/m-g)*t;
else
%calc rest of unpowered ascent
h=h_b-.5*g*(t-b)^2+v_b*(t-b);
v=v_b-g*(t-b);
end
plot(t,h,'b.')
hold on
end
%disp('Time to desired height is:')
disp('Time to hit the ground is:')
disp(t)
disp(' ')
hold off
%Next based on burn time and desired altitude the code will determine time to reach %altitude if possible check if peak height greater than altitude desired.
if h_ph_des %do-able!
h=0;
k=0;
t=0;
while h<h_des
t=k*dt;
k=k+1;
if t<=b
h=0.5*(f/m-g)*t^2;
v=(f/m-g)*t;
else
%calc rest of unpowered ascent
h=h_b-.5*g*(t-b)^2+v_b*(t-b);
v=v_b-g*(t-b);
end
end
disp('Time to desired height is:')
disp(t)
else
disp('Rocket will not achieve desired altitude of:')
disp(h_des)
end
Laboratory 9_Step 1
PURPOSE: To motivate the use of a function. Each Script file below is to be stand alone and should begin with clc and clear.
Problem 1
Based on the rocket code of pre-lab 9, write a script file firstname_lastname_lab9_probem1.m to:
Ask the user to enter the values of the rocket mass m in lbs, engine force f in lbs, and the engine burn time b in seconds. In the input prompt strings specify that m is to be between 5 and 15 lb, f is to be between 50 and 500 lbs, and b between 5 and 20 seconds. Note that the numbers do not have to be integers.
Calculate the flight parameters of rocket velocity at engine shut down v_b, rocket altitude at engine shut down h_b, peak altitude h_p, and the time to peak altitude t_p.
Display (using fprintf) messages with values of the four variables calculated above, including the correct associated units.
Problem 2
Based on the rocket code of pre-lab 8, write a script file firstname_lastname_lab9_problem2.m to:
Calculate the altitude h from the time of launch to ground impact. Again ask the user to input the values as in Problem 1, and again use dt = 0.1 s.
Create the plot of h versus t in figure 2, add x and y labels, title, and a grid.
Problem 3
Based on the rocket code of pre-lab 8, write a script file firstname_lastname_lab9_problem3.m to:
Calculate the velocity v and altitude h of the rocket from the time of launch to ground impact. Use inputs and values as before.
Create a two-row, one-column subplot in figure 3, where subplot one shows altitude h versus time, while subplot two shows velocity v versus time.
Problem 4
Based on the rocket code of pre-lab 8, write a script file firstname_lastname_lab9_problem4.m to:
Determine the time at which h =3000 ft on the way up. Use a FOR loop technique, a time step dt = 0.1 s, and other values and inputs as before. Print an error message if h = 3000 ft is not reached.
Use fprintf to display the result.
Problem 5
Based on the rocket code of pre-lab 8, write a script file firstname_lastname_lab9_problem5.m to:
Determine the time at which h =3000 ft on the way up. Use a WHILE loop technique and a time step of dt = 0.05 s, and other values and inputs as before. Print an error message if h = 3000 ft is not reached.
Use fprintf to display the result.
SUBMITTING YOUR LAB:
Submit your lab by uploading .m file using the Blackboard Assignment feature no later than the date specified.