(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "NeXT Mathematica Notebook Front End Version 2.2"; NeXTStandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 12, "Times"; ; fontset = leftheader, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, L1, 12, "Times"; ; fontset = leftfooter, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; paletteColors = 128; automaticGrouping; magnification = 125; currentKernel; ] :[font = title; inactive; preserveAspect; startGroup] FLIGHT PATHS :[font = section; inactive; preserveAspect; startGroup] BRIEF ABSTRACT :[font = subsection; inactive; preserveAspect; endGroup] Flight paths is a project comprised of 3 flight scenarios: crop dusting, a movie stunt pilot, and a passenger plane landing. Among other things, students model flight paths by choosing functions that satisfy necessary constraints, and then reflect on safety and/or comfort issues based on the g's that the plane pulls. :[font = section; inactive; Cclosed; preserveAspect; startGroup] GENERAL INFORMATION :[font = subsection; inactive; preserveAspect] FileName: FLIGHTS :[font = subsection; inactive; preserveAspect] Full title: Flight Paths :[font = subsection; inactive; preserveAspect] Last Update: 5/29/96 :[font = subsection; inactive; preserveAspect; startGroup] Developers: :[font = subsubsection; inactive; preserveAspect] Bob Feller, Richmond High School, Richmond, IN 47374 USA :[font = subsubsection; inactive; preserveAspect; endGroup] Lynn Kiaer, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA :[font = subsection; inactive; preserveAspect] Contact: Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. Phone: 812-877-8151. Email: Aaron.Klebanoff@rose-hulman.edu. FAX: 812-877-3198. :[font = subsection; inactive; preserveAspect; endGroup] Support: The production of this material is supported by the National Science Foundation under Division of Undergraduate Education grant DUE-9352849: Development Site for Complex, Technology-Based Problems in Calculus with Applications in Science and Engineering and the Arvin Foundation. :[font = section; inactive; Cclosed; preserveAspect; startGroup] STATEMENT OF PROBLEM :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Crop dusting Problem :[font = subsubsection; inactive; preserveAspect] We want to find an optimal flight path for a crop duster. Initially the pilot is flying at an altitude l at a distance d from the starting edge of the field to be dusted. The field will be dusted from an altitude h. The pilot will maintain a constant horizontal ground speed. ;[s] 9:0,0;104,1;105,2;120,3;121,4;215,5;216,6;271,7;272,8;278,-1; 9:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsubsection; inactive; preserveAspect] (1) Sketch an optimal flight path. Label your sketch carefully. What kind of function would describe the flight path? :[font = subsubsection; inactive; preserveAspect] (2) Suppose our crop duster is flying at an altitude of 300 feet with a ground speed of 50 miles per hour, and is 2000 feet from the field. The field is to be dusted from an altitude of 30 feet. Find the optimal flight path using your model. :[font = subsubsection; inactive; preserveAspect] (3) Find the point of maximum downward acceleration, and the point of maximum downward deceleration. What are these accelerations? Compare them to the acceleration due to gravity (32 ft/sec^2). Do you think these accelerations would be comfortable? :[font = subsubsection; inactive; preserveAspect; endGroup] (4) The apparent weight of an object is its resting weight, m*g, minus m*a, the force due to acceleration. (Note that we are choosing downward forces and accelerations to be positive.) Thus, if the airplane is accelerating downward at 16 ft/sec^2, its apparent weight is m*g - 16m = m(32-16) = 16m, which is half of its resting weight. Conversely, if the plane is decelerating downward (or accelerating upward) at that rate, its apparent weight is m*g + 16m = 48 m. In this case, the airplane appears to weigh one and a half times its resting weight. We say that the plane is pulling only one half g in the first case, and that it is pulling 1.5g in the second case. Calculate the apparent weight (in terms of g) of the airplane above, at the moments of greatest and least acceleration, and use that figure to increase your intuition about how comfortable the pilot would be. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Stunt pilot Problem :[font = subsubsection; inactive; preserveAspect] A stunt pilot is flying along the Mississippi River at an altitude of 100 feet (above the river), and maintains a constant ground speed of 70 mph. He is to fly under a bridge the bottom of which is 70 feet above the surface of the water. The cinematographer wishes to make the scene as dramatic as possible. The pilot's experience tells him that he can withstand 2 g's without impairment. ;[s] 3:0,0;368,1;369,2;392,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsubsection; inactive; preserveAspect] (1) How far from the bridge should the pilot begin his descent? How does this model compare with one, say, where the pilot is willing to withstand 3g's? :[font = subsubsection; inactive; preserveAspect; endGroup] (2) Further, we now consider how many g forces the pilot would have to sustain for a VERY dramatic flight in which the pilot wants to start the descent at -1200 ft. I.e., we seek to determine the necessary k value so the pilot will sustain k g forces in order to start the descent at -1200 ft. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Landing Problem :[font = subsubsection; inactive; preserveAspect] We want to find an optimal approach path for landing an airplane. Assume that we begin at an altitude a and at a distance d from the airport. However, our ground speed is to be a decreasing function of time. ;[s] 5:0,0;103,1;104,2;123,3;124,4;209,-1; 5:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsubsection; inactive; preserveAspect] (1) Develop a model for this new problem, considering safety and comfort of the passengers. :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] (2) Suppose that the cruising altitude is 30,000 feet, and the approach begins 100 miles from the airport (at sea-level). Our horizontal air speed begins at 250 mph, and decreases linearly with time to 100 mph. Find the optimal approach path using your model. Plot it, and decide if your solution would provide a safe and comfortable ride. If it won't, figure out what is wrong and refine your model! :[font = section; inactive; Cclosed; preserveAspect; startGroup] KEYWORDS :[font = subsection; inactive; preserveAspect; endGroup] Derivative, chain rule, acceleration, composition of functions, g-forces, modeling. :[font = section; inactive; Cclosed; preserveAspect; startGroup] TEACHER NOTES :[font = subsection; inactive; preserveAspect; startGroup] ISSUES RELATED TO THE PROBLEM :[font = subsubsection; inactive; preserveAspect] The three problems included here are related and build on one another, but the early ones do not require the subsequent ones to be complete. :[font = subsubsection; inactive; preserveAspect] Each problem is long enough to stand on its own. Taken as one three part problem, it can appear overwhelming. They could be split up into three separate problems. :[font = subsubsection; inactive; preserveAspect] The students may need to be reminded to be careful about units! :[font = subsubsection; inactive; preserveAspect; endGroup] The focus on acceleration in these problems encourage students to relate their own experiences to the formulas and graphs they generate. And it causes them to consider the value of the second derivative. :[font = subsection; inactive; preserveAspect] Prerequisites :[font = subsection; inactive; preserveAspect] Time allotment - time management :[font = subsection; inactive; preserveAspect] Expectations :[font = subsection; inactive; preserveAspect] Future payoffs :[font = subsection; inactive; preserveAspect] Extensions :[font = subsection; inactive; preserveAspect; endGroup] References and Sources :[font = section; inactive; Cclosed; preserveAspect; startGroup] POSSIBLE SOLUTIONS :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Crop dusting Problem :[font = subsubsection; inactive; preserveAspect] Most students will choose either a cubic model or a cosine model. The analysis which follows is for the cubic model. :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] The students should formulate the constraints for their model mathematically. If we model the problem so that the initial position of the plane is (-2000, 300), and the beginning of the field is at (0, 30), we have: :[font = input; preserveAspect; endGroup] y[x_] = a x^3 + b x^2 + c x + d; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] When we reach the field, we want the altitude to be 30 feet. :[font = input; preserveAspect; startGroup] eq1 = y[0]==30 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] d == 30 ;[o] d == 30 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] When we begin we are at altitude 300 feet. :[font = input; preserveAspect; startGroup] eq2 = y[-2000]==300 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -8000000000*a + 4000000*b - 2000*c + d == 300 ;[o] -8000000000 a + 4000000 b - 2000 c + d == 300 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We will begin our descent smoothly, starting from level flight. :[font = input; preserveAspect; startGroup] eq3 = y'[-2000]==0 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 12000000*a - 4000*b + c == 0 ;[o] 12000000 a - 4000 b + c == 0 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] And we will also end our descent smoothly, terminating in level flight. :[font = input; preserveAspect; startGroup] eq4 = y'[0]==0 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] c == 0 ;[o] c == 0 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] So we have obtained a system of four equations in four unknowns which we can solve. :[font = input; preserveAspect; startGroup] sol = Solve[{eq1,eq2,eq3,eq4},{a,b,c,d}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {{a -> 27/400000000, b -> 81/400000, d -> 30, c -> 0}} ;[o] 27 81 {{a -> ---------, b -> ------, d -> 30, c -> 0}} 400000000 400000 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Hence our model thus far looks like this. :[font = input; preserveAspect; startGroup] Height[x_] = y[x] /. sol[[1]] :[font = output; output; inactive; preserveAspect; endGroup] 30 + (81*x^2)/400000 + (27*x^3)/400000000 ;[o] 2 3 81 x 27 x 30 + ------ + --------- 400000 400000000 :[font = input; preserveAspect; startGroup] Plot[Height[x], {x, -2000, 0}, AxesLabel -> {"Dist from Field [ft]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Our downward velocity is dy/dt, (where y = Height) and our downward acceleration will be the derivative of that function. However, our y is a function of position x, not time t. We can use the chain rule to find dy/dt = dy/dx dx/dt if we know dx/dt. Since our ground speed, which is dx/dt is a constant 50 mph, all we need to do is convert 50 mph into ft/sec. ;[s] 17:0,0;25,1;30,2;39,3;40,4;136,5;137,6;164,7;165,8;176,9;177,10;214,11;233,12;245,13;250,14;286,15;291,16;362,-1; 17:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; preserveAspect; startGroup] groundspeed = 50 mile/hour 5280 feet/mile * 1/60 hour/min 1/60 min/sec :[font = output; output; inactive; preserveAspect; endGroup; endGroup] (220*feet)/(3*sec) ;[o] 220 feet -------- 3 sec :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] So our downward velocity is :[font = input; preserveAspect; endGroup] downvel[x_] = Height'[x] 220/3; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] The downward acceleration is d(downvel)/dt and, also by the chain rule, we can express it as ;[s] 3:0,0;29,1;42,2;93,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; preserveAspect; endGroup] downacc[x_] = downvel'[x] (220/3)^2; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Although we might expect to see these expressions in terms of t, since we are taking the derivative in terms of t, remember that x is a function of t. ;[s] 9:0,0;62,1;63,2;112,3;113,4;129,5;130,6;148,7;149,8;150,-1; 9:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; preserveAspect; startGroup] Plot[downacc[x],{x,-2000,0}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] downacc[-2000]//N downacc[0]//N :[font = output; output; inactive; preserveAspect] -159.72 ;[o] -159.72 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 159.72 ;[o] 159.72 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] So the vertical acceleration is largest at the moment we level off to begin cropdusting, and smallest (most negative, or greatest deceleration) when we begin our descent. Since these accelerations are (in magnitude) almost 160 ft/sec^2, they seem a little large. We divide them by 32 to see that the plane is pulling approximately 5 gs at these points. :[font = input; preserveAspect; startGroup] gs = downacc[0]/32 //N :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 4.99125 ;[o] 4.99125 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] The apparent weight of the airplane, at the beginning of the descent, will be approximately m(g+downacc(-2000)). Dividing by 32 m to obtain the number of g's being pulled, we find ;[s] 3:0,0;155,1;156,2;180,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; preserveAspect; startGroup] m(32-downacc[-2000])/(32 m)//N :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 5.99125 ;[o] 5.99125 :[font = subsubsection; inactive; preserveAspect; endGroup] This is about six times the acceleration due to gravity or about 6g's. That's a lot! The pilot should begin his descent sooner! :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Stunt pilot Problem :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] (1) The stunt pilot problem uses the same general model as the crop dusting problem. :[font = input; preserveAspect] Clear[a,b,c,d,w,eq1,eq2,eq3,eq4,x,y] :[font = input; preserveAspect; endGroup] y[x_] = a x^3 + b x^2 + c x + d; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Two of the conditions are similar to those in the crop dusting problem. Note that we have assumed that 20 feet clearance is necessary to clear to bridge accounting for the plane's height as well as a safety fudge factor. :[font = input; preserveAspect; startGroup] eq1 = y[0] == 50 :[font = output; output; inactive; preserveAspect; endGroup] d == 50 ;[o] d == 50 :[font = input; preserveAspect; startGroup] eq2 = y'[0]==0 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] c == 0 ;[o] c == 0 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Suppose we let w be out distance from the bridge when we begin our descent. Then we can create two more conditions. ;[s] 3:0,0;15,1;16,2;116,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = input; preserveAspect; startGroup] eq3 = y[w] == 100 :[font = output; output; inactive; preserveAspect; endGroup] d + c*w + b*w^2 + a*w^3 == 100 ;[o] 2 3 d + c w + b w + a w == 100 :[font = input; preserveAspect; startGroup] eq4 = y'[w] == 0 :[font = output; output; inactive; preserveAspect; endGroup; endGroup] c + 2*b*w + 3*a*w^2 == 0 ;[o] 2 c + 2 b w + 3 a w == 0 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Although we now have four equations in five unknowns, we can solve for a, b, c and d in terms of w and then examine the solution for various choices for w. :[font = input; preserveAspect; startGroup] sol = Solve[{eq1,eq2,eq3,eq4},{a,b,c,d}] :[font = output; output; inactive; preserveAspect; endGroup] {{a -> -100/w^3, b -> 150/w^2, d -> 50, c -> 0}} ;[o] -100 150 {{a -> ----, b -> ---, d -> 50, c -> 0}} 3 2 w w :[font = input; preserveAspect; startGroup] Height[x_] = y[x] /. sol[[1]] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 50 + (150*x^2)/w^2 - (100*x^3)/w^3 ;[o] 2 3 150 x 100 x 50 + ------ - ------ 2 3 w w :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Now, we are travelling at 70 mph. :[font = input; preserveAspect; startGroup] 70 mile/hour 5280 ft/mile 1/60 hour/min 1/60 min/sec :[font = output; output; inactive; preserveAspect; endGroup; endGroup] (308*ft)/(3*sec) ;[o] 308 ft ------ 3 sec :[font = subsubsection; inactive; preserveAspect] So dx/dt is 308/3 ft/sec. ;[s] 3:0,0;3,1;8,2;25,-1; 3:1,10,8,Times,1,12,0,0,0;1,10,8,Times,3,12,0,0,0;1,10,8,Times,1,12,0,0,0; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] So, how far from the bridge do we begin our descent? We need to determine the acceleration at time 0 and ascertain exactly what w values will provide us with a maximum of 2 g's. :[font = input; preserveAspect] yvel[x_] = Height'[x] (308/3); :[font = input; preserveAspect] yacc[x_] = yvel'[x] (308/3)^2; :[font = input; preserveAspect; endGroup] yacc[0]; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Recall the maximum g force or acceleration we can have is 2 g = 64 ft/sec^2. :[font = input; preserveAspect; startGroup] sol = NSolve[yacc[0] == 64, w] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {{w -> -2252.240859430645}, {w -> 2252.240859430645}} ;[o] {{w -> -2252.24}, {w -> 2252.24}} :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Thus we see the pilot should start the descent some 2252.24 ft before the bridge if he can sustain 2 g acceleration. And we plot the path under these conditions. :[font = input; preserveAspect; startGroup] p2 = Plot[Height[x] /. sol[[1]], {x, -2300, 0}, AxesLabel -> {"Dist from Bridge [ft]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Now we consider the assumption that the pilot can sustain 3g = 96 ft/sec^2 acceleration :[font = input; preserveAspect; startGroup] sol = NSolve[yacc[0]==96, w] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {{w -> -1838.946961150845}, {w -> 1838.946961150845}} ;[o] {{w -> -1838.95}, {w -> 1838.95}} :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Thus we see the pilot should start the descent some 1838.95 ft before the bridge if he can sustain 3 g acceleration. And we plot the path under these conditions. :[font = input; preserveAspect; startGroup] p3 = Plot[Height[x] /. sol[[1]], {x, -1900, 0}, AxesLabel -> {"Dist from Bridge [ft]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We show the two flight paths and note that if the pilot can sustain the higher g force (3 g) then the flight would be the more dramatic curve on the right. :[font = input; preserveAspect; startGroup] Show[p2,p3, AxesLabel -> {"Dist from Bridge [ft]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] (2) We now consider how many g forces the pilot would have to sustain for a VERY dramatic flight in which the pilot wanted to start the descent at -1200 ft. I.e. we seek to determine the necessary k value so the pilot will sustain k g forces and start the descent at -1200 ft. :[font = input; preserveAspect; startGroup] sol = NSolve[yacc[0] == k 32, w] :[font = output; output; inactive; preserveAspect; endGroup] {{w -> -3185.149569137653/k^(1/2)}, {w -> 3185.149569137653/k^(1/2)}} ;[o] -3185.15 3185.15 {{w -> --------}, {w -> -------}} Sqrt[k] Sqrt[k] :[font = input; preserveAspect; startGroup] yk[x_,k_] = Height[x] /. sol[[1]] :[font = output; output; inactive; preserveAspect; endGroup] 50 + 0.00001478534958042463*k*x^2 + 3.094642655337453*10^-9*k^(3/2)*x^3 ;[o] 2 -9 3/2 3 50 + 0.0000147853 k x + 3.09464 10 k x :[font = input; preserveAspect; startGroup] FindRoot[yk[-1200,k]== 100, {k, 5}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {k -> 7.044735077122687} ;[o] {k -> 7.04474} :[font = subsubsection; inactive; preserveAspect; endGroup] So we see the pilot will have to sustain forces 7 times that of gravity. This may be too much. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Landing Problem :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Once again we can choose a cubic model. :[font = input; preserveAspect] Clear[a,b,c,d,w,eq1,eq2,eq3,eq4,t,x,y] :[font = input; preserveAspect; endGroup] y[x_] = a x^3 + b x^2 + c x + d; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We also have our constraints. :[font = input; preserveAspect] eq1 = y[-528000] == 30000; :[font = input; preserveAspect] eq2 = y'[-528000] == 0; :[font = input; preserveAspect] eq3 = y[0] == 0; :[font = input; preserveAspect] eq4 = y'[0] == 0; :[font = input; preserveAspect] sol = Solve[{eq1,eq2,eq3,eq4}, {a,b,c,d}]; :[font = input; preserveAspect; endGroup] Height[x_] = y[x] /. sol[[1]]; :[font = subsubsection; inactive; preserveAspect] What is the downward acceleration in this case? :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] In this problem our analysis is slightly complicated by the non-constant ground speed. Let total be the total approach time. Since our groundspeed is initially 250 mph, and slows to 100 mph, we can write our ground speed in ft/sec. :[font = input; preserveAspect; startGroup] GPInit = 250 miles/hour * (5280 ft)/(1 miles) * (1 hour)/(3600 sec) :[font = output; output; inactive; preserveAspect; endGroup] (1100*ft)/(3*sec) ;[o] 1100 ft ------- 3 sec :[font = input; preserveAspect; startGroup] GPFinal = 100 miles/hour * (5280 ft)/(1 miles) * (1 hour)/(3600 sec) :[font = output; output; inactive; preserveAspect; endGroup] (440*ft)/(3*sec) ;[o] 440 ft ------ 3 sec :[font = input; preserveAspect; startGroup] groundspeed = GPInit + t (GPFinal - GPInit)/total :[font = output; output; inactive; preserveAspect; endGroup] (1100*ft)/(3*sec) - (220*ft*t)/(sec*total) ;[o] 1100 ft 220 ft t ------- - --------- 3 sec sec total :[font = input; preserveAspect; startGroup] grsp = Simplify[groundspeed (sec/ft)] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 1100/3 - (220*t)/total ;[o] 1100 220 t ---- - ----- 3 total :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We can now find x[t]. Since groundspeed is the derivative of the horizontal position x, we know the general form of x[t] is parabolic: :[font = input; preserveAspect; endGroup] x[t_] = a1 t^2 + b1 t + c1; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We can find a1 and b1 by equating coefficients of the derivative of x with groundspeed. :[font = input; preserveAspect; startGroup] Flatten[CoefficientList[x'[t], {1, t}]] == Flatten[CoefficientList[grsp, {1, t}]] :[font = output; output; inactive; preserveAspect; endGroup] {b1, 2*a1} == {1100/3, -220/total} ;[o] 1100 -220 {b1, 2 a1} == {----, -----} 3 total :[font = input; preserveAspect; startGroup] Flatten[Solve[%, {b1, a1}]] :[font = output; output; inactive; preserveAspect; endGroup] {b1 -> 1100/3, a1 -> -110/total} ;[o] 1100 -110 {b1 -> ----, a1 -> -----} 3 total :[font = input; preserveAspect; startGroup] Horiz[t_] = x[t] /. % :[font = output; output; inactive; preserveAspect; endGroup; endGroup] c1 + (1100*t)/3 - (110*t^2)/total ;[o] 2 1100 t 110 t c1 + ------ - ------ 3 total :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Now we need to find c1 and total. :[font = input; preserveAspect] eq5 = Horiz[0] == -528000; :[font = input; preserveAspect] eq6 = Horiz[total] == 0; :[font = input; preserveAspect; startGroup] sol = Solve[{eq5,eq6},{c1,total}] :[font = output; output; inactive; preserveAspect; endGroup] {{total -> 14400/7, c1 -> -528000}} ;[o] 14400 {{total -> -----, c1 -> -528000}} 7 :[font = input; preserveAspect; startGroup] TravTime = total /. sol[[1]] :[font = output; output; inactive; preserveAspect; endGroup] 14400/7 ;[o] 14400 ----- 7 :[font = input; preserveAspect] Clear[x] :[font = input; preserveAspect; startGroup] x[t_] = Horiz[t] /. sol[[1]] :[font = output; output; inactive; preserveAspect; endGroup] -528000 + (1100*t)/3 - (77*t^2)/1440 ;[o] 2 1100 t 77 t -528000 + ------ - ----- 3 1440 :[font = input; preserveAspect; startGroup] sol[[1, 2]] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] c1 -> -528000 ;[o] c1 -> -528000 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Here's a picture of the flight path (although we don't need it.) :[font = input; preserveAspect; startGroup] Plot[Height[x] /. sol[[1, 2]], {x, -528000, 0}, AxesLabel -> {"Dist from Runway [ft]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We can now find our downward acceleration using composition of functions (instead of the chain rule). :[font = input; preserveAspect] y1[t_] = Expand[Height[x[t]] //N]; :[font = input; preserveAspect; startGroup] Plot[y1[t], {t, 0, TravTime}, AxesLabel -> {"Time [sec]", "Height [ft]"}] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = input; preserveAspect; startGroup] Acc[t_] = y1''[t]; Plot[Acc[t], {t, 0, TravTime}, AxesLabel -> {"Time [sec]", "Acc [ft/sec^2]"}, PlotRange -> All] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We seek to determine when the g forces will effect the ride the most, and this will occur when, y1''[t] is minimum. So we determine when this occurs and add these forces to the force due to gravity and see how much effect there really is. :[font = input; preserveAspect; startGroup] sol = Solve[y1'''[t]==0,t] :[font = output; output; inactive; preserveAspect; endGroup] {{t -> 1406.004863485354}, {t -> 3428.571428571431}, {t -> 5451.137993657502}} ;[o] {{t -> 1406.}, {t -> 3428.57}, {t -> 5451.14}} :[font = input; preserveAspect; startGroup] tmax = t /. sol[[1]]; MaxAcc = Acc[tmax] :[font = output; output; inactive; preserveAspect; endGroup] 0.02302000661375664 ;[o] 0.02302 :[font = input; preserveAspect; startGroup] tmin = 0; MinAcc = Acc[tmin] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] -0.0868055555555556 ;[o] -0.0868056 :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] The g forces associated with these accelerations are 0.99055 g and 1.02905 g by our results below. :[font = input; preserveAspect; startGroup] m(32-MinAcc)/(32 m) //N :[font = output; output; inactive; preserveAspect; endGroup] 1.002712673611111 ;[o] 1.00271 :[font = input; preserveAspect; startGroup] m(32-MaxAcc)/(32 m) //N :[font = output; output; inactive; preserveAspect; endGroup; endGroup] 0.99928062479332 ;[o] 0.999281 :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] These g forces would seem to be almost imperceptible, which suggests that passengers on our airliner would be very comfortable. :[font = section; inactive; Cclosed; preserveAspect; startGroup] ISSUES IN SOLUTION :[font = subsection; inactive; preserveAspect] Sign errors are easy to make so be careful. It is especially confusing to have to deal with terms like accelerating upwards or decelerating downwards (which mean the same thing!) :[font = subsection; inactive; preserveAspect] Students may be asked to calculate or approximate the g forces involved in driving over a dip in the road, and to compare these with the g forces in the airliner. :[font = subsection; inactive; preserveAspect] Students may be asked to compare and contrast the solutions found using the cubic model with those found using the cosine model. :[font = subsection; inactive; preserveAspect; endGroup; endGroup] Students may be asked to speculate or show how the pilot (given the instruments in a cockpit) would be able to determine whether the plane was on the optimal flight paths found in these problems. ^*)