(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 72117, 2102]*) (*NotebookOutlinePosition[ 73560, 2157]*) (* CellTagsIndexPosition[ 73373, 2146]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Rain Catchers, Elevators, and Rockets", "Title", PageWidth->PaperWidth], Cell[TextData[StyleBox["Chapter 4, Sections 4 through 6", FontFamily->"Arial", FontWeight->"Bold"]], "Text", PageWidth->PaperWidth, FontSize->16], Cell[BoxData[{ \(\(<< Graphics`Arrow`;\)\), "\n", \(\(<< Graphics`FilledPlot`;\)\), "\n", \(\(Off[DiracDelta::"\"];\)\), "\[IndentingNewLine]", \(\(Off[General::spell];\)\), "\[IndentingNewLine]", \(\(Off[General::spell1];\)\), "\n", \(\(Off[NIntegrate::ploss];\)\), "\n", \(\(Off[NIntegrate::ncvb];\)\), "\[IndentingNewLine]", \(\(Off[FindRoot::"\"];\)\), "\[IndentingNewLine]", \(\(Off[NIntegrate::"\"];\)\n\)}], "Input", Editable->False, CellOpen->False, InitializationCell->True], Cell[BoxData[{ \(\(Clear[antidifferentiate];\)\), "\n", \(\(antidifferentiate[fnc_, tind_, to_, tf_, fncic_] := Module[{f, t}, \n rules = {DiracDelta[q_] \[Rule] 0, DiracDelta[t - q_] \[Rule] 0, DiracDelta[q_ - t] \[Rule] 0, DiracDelta[t + q_] \[Rule] 0, DiracDelta[q_ + t] \[Rule] 0, DiracDelta[0. ] \[Rule] 0, \(DiracDelta\^\[Prime]\)[q_] \[Rule] 0, \(DiracDelta\^\[Prime]\)[t - q_] \[Rule] 0, \(DiracDelta\^\[Prime]\)[q_ - t] \[Rule] 0, \(DiracDelta\^\[Prime]\)[t + q_] \[Rule] 0, \(DiracDelta\^\[Prime]\)[q_ + t] \[Rule] 0, \(DiracDelta\^\[Prime]\)[0. ] \[Rule] 0}; \[IndentingNewLine]periodic = 0; \[IndentingNewLine]f[t_] = \((fnc /. tind -> t)\) /. rules; \n\t\t (*Fint[t_] := NIntegrate[f[s], {s, to, t}]; \n\t\tcint = fncic - Fint[to]; \n\t\tF[t_] := Fint[t] + cint;*) \[IndentingNewLine]\n F[t_] = \(DSolve[{\(y'\)[t] == f[t], y[to] == fncic}, y[t], t]\)[\([1, 1, 2]\)]; \n\nfpp[t_] = D[f[t], t] /. rules; \n fppvalues = Table[fpp[t], {t, to, tf, \((tf - to)\)/5000}]; \t\t\n fvalues = Table[f[t], {t, to, tf, \((tf - to)\)/5000}]; \n Fvalues = Table[F[t], {t, to, tf, \((tf - to)\)/5000}]; \n Fmax = Max[Fvalues]; \nFmin = Min[Fvalues]; \n\n fmaxt = Max[fvalues]; \nfmint = Min[fvalues]; \nfmin = fmint; \n fmax = fmaxt; \n\nstart = {}; roots = {}; \n Do[If[Sign[fvalues[\([k]\)]] \[NotEqual] Sign[fvalues[\([k + 1]\)]], roots = Append[roots, to + \((tf - to)\)/5000. *\((k - 1)\)]], {k, 1, 5000}]; \n\t\n\t\n\t\n\t\t\n steprat = 0.050; \n\t\thrange = If[Fmax < 0, {1.1*Fmin, 0}, If[Fmin > 0, {0, 1.1*Fmax}, {1.1*Fmin, 1.1*Fmax}]]; \n\t\tfrange = If[fmax < 0, {1.1*fmin, 0}, If[fmin > 0, {0, 1.1*fmax}, {1.1*fmin, 1.1*fmax}]]; \nta = 0; size = 8; \n\t (*\t p2 = Plot[f[t], {t, to, tf}, PlotRange -> {{to, tf}, frange}, ImageSize -> {72*size, 72*size/2}, AspectRatio -> 1/2, PlotStyle -> {RGBColor[0, 0, 0], Thickness[0.008]}, AxesLabel \[Rule] {"\", "\"}, Epilog -> {Thickness[0.010], RGBColor[0, 0, 0], Arrow[{to, 0}, {to, f[to]}], Text[\*"\"\<\!\(dQ\/dt\)\>\"", {to, f[to]/2}, {\(-1\), 0}]}, DisplayFunction -> Identity]; p1 = Plot[F[t], {t, to - 0.00001*\((tf - to)\), to}, PlotRange -> {{to - 0.01*\((tf - to)\), tf + 0.01*\((tf - to)\)}, hrange}, ImageSize -> {72*size, 72*size/2}, AspectRatio -> 1/2, PlotStyle -> {RGBColor[0.246098, \ 0.671885, \ 0.199222]}, AxesOrigin -> {0, 0}, AxesLabel \[Rule] {"\", "\"}, Epilog -> {RGBColor[0.246098, \ 0.671885, \ 0.199222], Thickness[0.010], Text[\*"\"\<\!\(Q\_0\)\>\"", {to - 0.01*\((tf - to)\), 0.5*F[to]}, {1, 0}], Arrow[{to - 0.01*\((tf - to)\), 0}, {to - 0.01*\((tf - to)\), F[to]}, HeadScaling -> Automatic]}, DisplayFunction -> Identity]; \n\t\tShow[ GraphicsArray[{p2, p1}], ImageSize -> {72*size, 72*size/4}, AspectRatio \[Rule] 1/4, PlotRegion -> {{0, 1}, {0, 1}}, \ DisplayFunction -> $DisplayFunction];*) \n\n If[Length[roots] != 0, \t\t\n If[Abs[roots[\([Length[roots]]\)] - tf] <= 0.00001*Max[Abs[{Fmax, Fmin}]], \n roots = Append[roots, tf + 0.00001*\((tf - to)\)], roots = Append[roots, tf]; roots = Append[roots, tf + 0.00001*\((tf - to)\)]]; \n If[Abs[roots[\([1]\)] - to] <= 0.00001*Max[Abs[{Fmax, Fmin}]], \n roots = Prepend[roots, to - 0.00001*\((tf - to)\)], roots = Prepend[roots, to]; roots = Prepend[roots, to - 0.00001*\((tf - to)\)]];, roots = Append[roots, tf]; roots = Append[roots, tf + 0.00001*\((tf - to)\)]; \n\t\t\troots = Prepend[roots, to]; roots = Prepend[roots, to - 0.00001*\((tf - to)\)]]; \n\n n = Length[roots]; \n\t\troots = Sort[roots // N]; \n\t\tFor[k = 1, k < Length[roots] - 1, \(k++\), If[roots[\([k]\)] == roots[\([k + 1]\)], roots = Delete[roots, k]]]; \n\t\tk = 1; \n\t\tWhile[ k <= Length[roots], If[roots[\([k]\)] < \((to - 0.00001*\((tf - to)\))\) || roots[\([k]\)] > \((tf + 0.00001*\((tf - to)\))\), roots = Delete[roots, k], \(k++\)]]; \t\n\ \ \n\t\t\n Do[Clear[p1, p2]; \n\t\n\tlim = 1; \n\t While[ta > roots[\([lim + 2]\)], \ lim = lim + 1]; \n\t\t\t\t\n\t\t\t\t\tp1t = Plot[F[t], {t, to, If[ta == roots[\([lim + 1]\)], ta - \((tf - to)\)/5000, ta]}, PlotRange -> {{to - 0.01*\((tf - to)\), tf + 0.01*\((tf - to)\)}, hrange}, AspectRatio -> 1/2, PlotStyle -> {RGBColor[0.246098, \ 0.671885, \ 0.199222], Dashing[{}]}, ImageSize -> {72*size, 72*size/2}, PlotRegion -> {{0, 1}, {0, 1}}, \ AxesLabel \[Rule] {"\", "\"}, DisplayFunction -> Identity, Prolog -> Flatten[{RGBColor[0.246098, \ 0.671885, \ 0.199222], Text["\", {ta, 0.5*F[ta]}, {\(-1\), 0}], Thickness[0.010], Arrow[{ta, 0}, {ta, F[ta]}, HeadScaling -> Automatic], Text[\*"\"\<\!\(Q\_0\)\>\"", {to - 0.01*\((tf - to)\), 0.5*F[to]}, {1, 0}], Arrow[{to - 0.01*\((tf - to)\), 0}, {to - 0.01*\((tf - to)\), F[to]}, HeadScaling -> Automatic], Thickness[0.015], Table[{If[f[roots[\([k]\)] + \((tf - to)\)/5000] > 0, RGBColor[1, 0, 0], RGBColor[0, 0, 1]], Arrow[{roots[\([k]\)], F[roots[\([k]\)]]}, {roots[\([k]\)], F[roots[\([k + 1]\)]]}, HeadScaling -> Automatic], RGBColor[0, 0, 0], Thickness[0.003], Dashing[{0.01, 0.02}], Line[{{roots[\([k]\)], F[roots[\([k + 1]\)]]}, {roots[\([k + 1]\)], F[roots[\([k + 1]\)]]}}]}, {k, 1, lim}], If[f[ta - \((tf - to)\)/5000] > 0, RGBColor[1, 0, 0], RGBColor[0, 0, 1]], Arrow[{roots[\([lim + 1]\)], F[roots[\([lim + 1]\)]]}, {roots[\([lim + 1]\)], F[ta]}, HeadScaling -> Automatic], Thickness[0.003], RGBColor[0, 0, 0], Dashing[{0.01, 0.02}], Line[{{roots[\([lim + 1]\)], F[ta]}, {ta, F[ta]}}], Dashing[{}]}, 1]]; \n\t\t\t\n\t\t\t\n\t\t\tp1 = Show[p1t, ImageSize -> {72*size, 72*size/2}, PlotRegion -> {{0, 1}, {0, 1}}, AxesFront -> True, DisplayFunction -> Identity, AspectRatio \[Rule] 1/2]; \n\t\t\t\t\t\t\n\t p2t = {}; \n\t\t\n\t\t\t\tDo[ If[f[roots[\([k]\)] + \((tf - to)\)/5000] > 0, fillcolor = RGBColor[1, 0, 0], fillcolor = RGBColor[0, 0, 1]]; \n\t\t\t\t\tpinter = FilledPlot[f[t], {t, roots[\([k]\)], roots[\([k + 1]\)]}, PlotRange -> {{to, tf}, frange}, ImageSize -> {72*size, 72*size/2}, AspectRatio -> 1/2, PlotStyle -> {RGBColor[0, 0, 0], Thickness[0.008]}, Fills -> {fillcolor}, AxesFront -> True, Curves -> Front, DisplayFunction -> Identity]; \n\t\t\t\t\tp2t = Append[p2t, pinter], {k, 1, lim}]; \n\t\t\t\tIf[ f[ta - \((tf - to)\)/5000] > 0, fillcolor = RGBColor[1, 0, 0], fillcolor = RGBColor[0, 0, 1]]; \n\t\t\t\tpinter2 = FilledPlot[ f[t], {t, roots[\([lim + 1]\)], If[ta == roots[\([lim + 1]\)], ta + \((tf - to)\)/5000, ta]}, PlotRange -> {{to, tf}, frange}, PlotStyle -> {RGBColor[0, 0, 0], Thickness[0.008]}, Fills -> {fillcolor}, AxesFront -> True, Curves -> Front, ImageSize -> {72*size, 72*size/2}, AspectRatio -> 1/2, DisplayFunction -> Identity]; \n\t\t\tp2t = Append[p2t, pinter2]; \n\t\t\n\t\t\tpint = Plot[f[t], {t, to, tf}, PlotRange -> {{to, tf}, frange}, ImageSize -> {72*size, 72*size/2}, AspectRatio -> 1/2, PlotStyle -> {RGBColor[0, 0, 0], Thickness[0.008]}, AxesLabel \[Rule] {"\", "\"}, Epilog -> {Thickness[0.010], RGBColor[0, 0, 0], Arrow[{ta, 0}, {ta, f[ta]}], Text[\*"\"\<\!\(dQ\/dt\)\>\"", {ta, f[ta]/2}, {\(-1\), 0}]}, DisplayFunction -> Identity]; \n\t\t\tp2t = Prepend[p2t, pint]; \n\t\t\t\n\t\t\t\n\t\t\tp2 = Show[p2t, ImageSize -> {72*size, 72*size/2}, AspectRatio \[Rule] 1/2, AxesFront -> True, PlotRegion -> {{0, 1}, {0, 1}}, \ DisplayFunction -> Identity]; \n\t\t\t\n Show[GraphicsArray[{p2, p1}], ImageSize -> {72*size, 72*size/4}, AspectRatio \[Rule] 1/4, PlotRegion -> {{0, 1}, {0, 1}}, \ DisplayFunction -> $DisplayFunction], {ta, to, If[periodic == 1, tf - steprat*\((tf - to)\), tf], \((tf - to)\)/25}];];\)\)}], "Input", Editable->False, CellOpen->False, InitializationCell->True], Cell[CellGroupData[{ Cell["Introduction", "Section", PageWidth->PaperWidth], Cell["\<\ OBJECTIVE: Gain an appreciation for the importance of the Fundamental Theorem \ of Calculus and the Mean Value Theorem in practical applications. The purpose of this module is to show the wide applicability of some of the \ basic ideas in calculus of single variable functions. What do flood control, \ riding an elevator, and launching a model rocket have in common? We can \ describe all of these, using calculus. In addition to gaining a better \ understanding and appreciation for the Fundamental Theorem of Calculus and \ the Mean Value Theorem, you will also see the importance of finding the areas \ between the graphs of functions and identifying extreme values. Let's get \ started. \ \>", "Text", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell["Technology Guidelines", "Subsection", PageWidth->PaperWidth, CellDingbat->"\[LightBulb]"], Cell[TextData[{ StyleBox["NOTE: If you have just finished a module, restart ", CellFrame->True, Background->None], StyleBox["Mathematica", CellFrame->True, FontSlant->"Italic", Background->None], StyleBox[" before executing a new module.\nTO OPEN CELLS, put your cursor \ on the right cell bracket and double click.", CellFrame->True, Background->None], "\nINITIALIZATION CELLS\n\tWhen asked if you want to \". . . automatically \ evaluate all the initialization cells in the \tnotebook . . . ,\" respond by \ pressing the \"Yes\" button.\nTO STOP AN EXECUTION\n\tSelect the ", StyleBox["Kernel", FontSlant->"Italic"], " pull-down menu and click on ", StyleBox["Abort Evaluation.\n", FontSlant->"Italic"], "ORDER OF EXECUTION\n\tExecute cells in the order given. Do not skip any \ Input cells within a given notebook.\nSAVING NOTEBOOKS\n\tYou can save \ anytime to any directory you choose, and it is wise to save often.\n\t \ However, before you do your final save, delete all your output by selecting \ the \n\t ", StyleBox["Delete All Output", FontSlant->"Italic"], " selection under the ", StyleBox["Kernel", FontSlant->"Italic"], " pull-down menu.\nEXPERIENCING MAJOR PROBLEMS\n\tSave if appropriate, and \ then shut down ", StyleBox["Mathematica", FontSlant->"Italic"], " and start it up again." }], "Text", PageWidth->PaperWidth] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Part I: Rain Catchers", "Section", PageWidth->PaperWidth], Cell[CellGroupData[{ Cell["Background", "Subsection", PageWidth->PaperWidth], Cell["\<\ Property owners are required by law to ensure that water running off their \ properties during a storm does not do harm to their neighbors. This can often \ be a challenge for cities, towns, and municipalities where large flows of \ water can run over public properties and in streets and roadways, presenting \ a potential threat to private property owners. As a result, public as well as \ private entities have to take measures to control storm runoff. Numerous \ examples of such efforts can be found in and around the Los Angeles basin in \ California. In this module, you will explore how one would go about designing a detention \ basin to collect runoff water from a rainstorm and release it at a controlled \ flow rate.\ \>", "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["Here Comes the Rain", "Subsection", PageWidth->PaperWidth], Cell[TextData[{ "During a severe 24-hour storm, water flows out of a drainage channel at \ the rate given by ", Cell[BoxData[ FormBox[ RowBox[{ FractionBox[ StyleBox[ RowBox[{"d", StyleBox["Q", FontSlant->"Italic"]}]], "dt"], "=", \(10000 \( t\^2\) e\^\(\(-t\)/2\)\)}], TraditionalForm]]], ", where ", StyleBox["t", FontSlant->"Italic"], " is hours and ", Cell[BoxData[ FormBox[ FractionBox[ StyleBox[ RowBox[{"d", StyleBox["Q", FontSlant->"Italic"]}]], "dt"], TraditionalForm]]], "is cubic feet per hour. Plot the flow rate function and determine what the \ maximum flow rate is and when it occurs." }], "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[Q];\)\), "\[IndentingNewLine]", \(\(Q\^\[Prime]\)[t_] = 10000 \( t\^2\) Exp[\(-t\)/2]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[\(Q\^\[Prime]\)[t], {t, 0, 24}, AxesLabel -> {"\", \*"\"\<\!\(Q\^\[Prime]\) (\!\(ft\^3\)/hr)\ \>\""}, PlotStyle \[Rule] {RGBColor[0, 0, 1]}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Q\^\[DoublePrime]\)[t_] = D[\(Q\^\[Prime]\)[t], t] // Simplify\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(soln = Solve[\(Q\^\[DoublePrime]\)[t] \[Equal] 0, t]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Q\^\[Prime]\)[4] // N\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The maximum flow rate occurs at ", StyleBox["t", FontSlant->"Italic"], " = 4 hours and is 21653.6 cubic feet per hour. This is confirmed by the \ graph of ", Cell[BoxData[ StyleBox[\(\(Q\^\[Prime]\)[t]\), FontWeight->"Plain"]], "Input"], ", and by checking to see that the second derivative of ", Cell[BoxData[ StyleBox[\(\(Q\^\[Prime]\)[t]\), FontWeight->"Plain"]], "Input"], "at ", StyleBox["t", FontSlant->"Italic"], " = 4 hours is negative." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(D[\(Q\^\[Prime]\)[t], {t, 2}] /. t \[Rule] 4 // N\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Imagine that you have been asked to design a storm drain detention basin \ to catch and hold all of the water that flows out the drainage channel during \ this severe 24-hour storm. How much water would the detention basin have to \ hold?\n\nThe total amount of water that flows out of the drainage channel \ during the 24-hour storm is the area under the graph of ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t]\)]], ". You can show this area by loading a special graphics package called ", StyleBox["Graphics`FilledPlot`", FontWeight->"Bold"], " that contains the ", StyleBox["FilledPlot[ ]", FontWeight->"Bold"], " command.\n" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(<< Graphics`FilledPlot`\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(FilledPlot[\(Q\^\[Prime]\)[t], {t, 0, 24}, Fills \[Rule] {RGBColor[1, 0, 0]}, AxesLabel \[Rule] {"\", \ \*"\"\<\!\(Q\^\[Prime]\)(\!\(ft\^3\)/hr)\>\""}];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ The definite integral gives the area under the graph, which is the total \ amount of water that flows out of the drainage channel during the 24-hour \ storm.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Q[24] = \[Integral]\_0\%24\( Q\^\[Prime]\)[t] \[DifferentialD]t // N\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The detention basin must be able to hold about 160,000 cubic feet of \ water. To get an idea of how much water this is, think of a cube with this \ much volume. The length of each side would have to be ", Cell[BoxData[ \(TraditionalForm\`\@160000\%3\)]], "ft or\n" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\@160000\%3 // N\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "What is the average flow rate during the storm? You can calculate the \ average flow rate two different ways. In the first, calculate the average \ value of the flow rate function between ", Cell[BoxData[ \(TraditionalForm\`t = 0\)]], " and ", Cell[BoxData[ \(TraditionalForm\`t = 24\)]], " hours." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Q\&_\^\[Prime] = \(1\/\(24 - 0\)\) \(\[Integral]\_0\%24\( Q\^\[Prime]\)[ t] \[DifferentialD]t\) // N\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "In the second, take the total amount of water that flows out of the pipe \ during the 24-hour period and divide it by 24 hours. That is, ", Cell[BoxData[ \(Q\&_\^\[Prime]\)]], "=", Cell[BoxData[ \(TraditionalForm\`\[CapitalDelta]Q\/\[CapitalDelta]t = \(Q(24) - \ Q(0)\)\/\(24 - 0\)\)]], ", where ", Cell[BoxData[ \(TraditionalForm\`Q(0) = 0\)]], "." }], "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Q[0] = 0;\)\), "\[IndentingNewLine]", \(Q\&_\^\[Prime] = \(Q[24] - Q[0]\)\/\(24 - 0\)\)}], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Therefore, the average flow is 6663.18 ", Cell[BoxData[ \(TraditionalForm\`ft\^3\/hr\)]], ". The fact that the two values for the average flow rate are the same \ should not be surprising since ", Cell[BoxData[ FormBox[ RowBox[{\(\[Integral]\_0\%24\(\( Q\^\[Prime]\)( t)\) \[DifferentialD]t\), "=", RowBox[{\(Q(24) - Q(0)\), "=", StyleBox[ RowBox[{"\[CapitalDelta]", StyleBox["Q", FontSlant->"Italic"]}]]}]}], TraditionalForm]]], " by the Fundamental Theorem of Calculus, Part II." }], "Text", PageWidth->PaperWidth], Cell["\<\ At what time(s) during the 24-hour event does the flow rate equal the average \ rate of flow?\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Solve[\(Q\^\[Prime]\)[t] \[Equal] Q\&_\^\[Prime], t]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ ButtonBox[ ButtonBox[ RowBox[{ StyleBox["\[MathematicaIcon]", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontSize->14, FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontSize->14, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]]}], ButtonStyle->"Hyperlink"], ButtonData:>"h1", ButtonStyle->"Hyperlink"]], "Input", PageWidth->PaperWidth, Evaluatable->False, CellTags->"h1b"], Cell[TextData[{ "Only the positive values for ", StyleBox["t", FontSlant->"Italic"], " make sense since ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t]\)]], "is only defined for ", StyleBox["t ", FontSlant->"Italic"], "\[GreaterEqual] 0.\n\nIf the detention basin is empty at ", StyleBox["t ", FontSlant->"Italic"], "= 0", ", find a function that gives the total amount of water ", StyleBox["Q", FontSlant->"Italic"], " in the basin as a function of time during the 24 hours, and graph the \ function." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Q[t_] = \(\(\[Integral]\_0\%t\( Q\^\[Prime]\)[u] \[DifferentialD]u + Q[0]\)\(\ \)\(//\)\(Simplify\)\(\ \ \ \ \ \ \ \ \ \ \ \ \)\( (*from\ \ the\ Fundamental\ Theorem\ of\ Calculus, \ Part\ 1*) \)\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[Q[t], {t, 0, 24}, AxesLabel \[Rule] {"\", \*"\"\\""}, PlotStyle \[Rule] {RGBColor[0, 1, 0]}];\)\)], "Input", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["Watch it Fill", "Subsection", PageWidth->PaperWidth], Cell[TextData[{ "We can watch the water accumulate in the detention basin using the \ command, ", StyleBox["antidifferentiate[ f[t], t, a, b, f[a] ]", FontWeight->"Bold"], ", which was designed specially for this demonstration. The arguments of \ the function are: ", StyleBox["f[t]", FontWeight->"Bold"], ", the rate of change function,", StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["t", FontWeight->"Bold"], ", the independent variable, ", StyleBox["a", FontWeight->"Bold"], ", the beginning time, ", StyleBox["b", FontWeight->"Bold"], ", the ending time, and ", StyleBox["f[a]", FontWeight->"Bold"], ", the initial value of ", StyleBox["f[t]", FontWeight->"Bold"], ". \n\nTo animate the sequence of graphs:\n1. If necessary, widen the \ notebook window so that all three graphs in each cell show across the page.\n\ 2. Put the cursor in the cell bracket that contains all the graphics cells, \ and double click the left mouse button. This will collapse all the graphs \ into one cell, displaying only the first graphics cell in the sequence.\n3. \ Be sure the cell bracket that contains the collapsed graphics cells is \ selected (if not, place the cursor in the cell bracket and click once), and \ then press Ctrl+Y. This will play the sequence of graphics slides to generate \ the animation. \n4. While the animation is playing, a control bar appears at \ the bottom of the notebook window. This bar allows you to control the speed \ and direction of the animation.\n\n", StyleBox["Since the next command generates a lot of output, you probably \ won't want to print this notebook until after you have deleted most or all of \ the graphs. We recommend deleting all but a few representative cells from the \ sequence before you print.", CellFrame->True, Background->GrayLevel[0.849989]] }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(antidifferentiate[\(Q\^\[Prime]\)[t], t, 0, 24, 0]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "If the reservoir were to fill at a constant rate over the 24-hour period, \ what would the constant fill rate be? It would, of course, be the average \ rate of flow, ", Cell[BoxData[ \(\(\(Q\&_\^\[Prime]\)\(=\)\)\)]], "6663.18 ", Cell[BoxData[ \(TraditionalForm\`ft\^3\/hr\)]], ", that we calculated above. This is true because we know from the \ definition of the average value of a function that ", Cell[BoxData[ \(Q\&_\^\[Prime]\)]], "\[Times](", Cell[BoxData[ \(TraditionalForm\`t\_f - t\_i\)]], ") = ", Cell[BoxData[ FormBox[ RowBox[{\(\[Integral]\_\(t\_i\)\%\(t\_f\)\), RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], \(\[DifferentialD]t\)}]}], TraditionalForm]]], ". Let's watch the reservoir fill at the average rate instead of the \ actual. \n\nNote: The ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command generates a lot of graphics, which may fill up your computer's \ memory. Before executing the next command, pull down the Kernel menu and \ select Delete All Output. All computed values are saved when you do this." }], "Text", PageWidth->PaperWidth], Cell[TextData[StyleBox["Since the next command generates a lot of output, you \ probably won't want to print this notebook until after you have deleted most \ or all of the graphs. We recommend deleting all but a few representative \ cells from the sequence before you print.", CellFrame->True, Background->GrayLevel[0.849989]]], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(antidifferentiate[Q\&_\^\[Prime], t, 0, 24, 0]\)], "Input", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["The Mean Value Theorem: Integral Form", "Subsection", PageWidth->PaperWidth], Cell["\<\ For some additional insight, let's plot the constant average-rate-of-change \ function together with the actual-rate-of-change function.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[{\(Q\^\[Prime]\)[t], Q\&_\^\[Prime]}, {t, 0, 24}, PlotStyle \[Rule] {{RGBColor[0, 0, 1]}, {RGBColor[1, 0, 0]}}, AxesLabel \[Rule] {"\", \*"\"\<\!\(Q\^\[Prime]\)[t],\!\(Q\&_\^\ \[Prime]\)\>\""}];\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The integral form of the Mean Value Theorem assures us that since ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t]\)]], "is continuous on the 24-hour interval, there will be at least one time \ where the average rate of flow, ", Cell[BoxData[ \(Q\&_\^\[Prime]\)]], ", will equal the instantaneous rate of flow, ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t]\)]], ". In this case, there are actually two. Do you see these two times on the \ preceding graph? What are these times? (We calculated them above.)" }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["The Mean Value Theorem: Derivative Form", "Subsection", PageWidth->PaperWidth], Cell["\<\ Let's plot the amount of water in the detention basin as functions of time \ for the two flow-rate functions shown in the graph above.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Q\_2[0] = 0;\)\), "\[IndentingNewLine]", \(Q\_2[t_] = Q\&_\^\[Prime]*t + Q\_2[0]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[{Q[t], Q\_2[t]}, {t, 0, 24}, PlotStyle \[Rule] {{RGBColor[0, 0, 1]}, {RGBColor[1, 0, 0]}}, AxesLabel \[Rule] {"\", \*"\"\\""}];\)\)], \ "Input", PageWidth->PaperWidth], Cell[TextData[{ "In this case, the average rate of flow over the 24-hour interval is the \ slope of the secant line between the to points (0, 0) and (24, 159916). The \ derivative form of the Mean Value Theorem tells us that since ", Cell[BoxData[ \(TraditionalForm\`Q(t)\)]], " is continuous on the interval [0, 24] and differentiable on (0, 24), \ there will be at least one time where the instantaneous flow rate, ", Cell[BoxData[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Italic"], "\[Prime]"], \((t)\)}]]], ", will equal the average flow rate, ", Cell[BoxData[ \(TraditionalForm\`\(\[CapitalDelta]\ Q\)\/\(\[CapitalDelta]\ t\)\)]], ". (Note that by the Fundamental Theorem of Calculus, Part 2\n\n", Cell[BoxData[ \(TraditionalForm\`\(\[CapitalDelta]\ Q\)\/\(\[CapitalDelta]\ t\)\)]], "=", Cell[BoxData[ FormBox[ FractionBox[ RowBox[{ RowBox[{ StyleBox["Q", FontSlant->"Italic"], "(", "24", ")"}], "-", RowBox[{ StyleBox["Q", FontSlant->"Italic"], "(", "0", ")"}]}], \(24 - 0\)], TraditionalForm]]], "=", Cell[BoxData[ FormBox[ RowBox[{\(1\/\(24 - 0\)\), RowBox[{\(\[Integral]\_0\%24\), RowBox[{ RowBox[{ StyleBox[ SuperscriptBox[ StyleBox["Q", FontSlant->"Italic"], "\[Prime]"], FontSlant->"Plain"], "(", "t", ")"}], \(\[DifferentialD]t\)}]}]}], TraditionalForm]]], "=", Cell[BoxData[ SuperscriptBox[ OverscriptBox[ StyleBox["Q", FontSlant->"Italic"], "_"], "\[Prime]"]]], ". \n\nThis is why we call the slope of the secant line the ", StyleBox["average rate of change", FontWeight->"Bold"], ": ", Cell[BoxData[ \(TraditionalForm\`\(\[CapitalDelta]\ Q\)\/\(\[CapitalDelta]\ t\)\)]], "=", Cell[BoxData[ SuperscriptBox[ OverscriptBox[ StyleBox["Q", FontSlant->"Italic"], "_"], "\[Prime]"]]], " truly is the average of the rate of change function over the interval.) \n\ \nThere are actually two points where ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["Q", FontSlant->"Italic"], "\[Prime]"], TraditionalForm]]], "(t)=", Cell[BoxData[ SuperscriptBox[ OverscriptBox[ StyleBox["Q", FontSlant->"Italic"], "_"], "\[Prime]"]]], ". Do you see them in the graph above? To highlight them further, let's \ draw the tangents to the curve at the two points. First, we define a new \ function, ", StyleBox["L[ t, a ]", FontWeight->"Bold"], ", that gives the equation of the line tangent to ", Cell[BoxData[ FormBox[ StyleBox[\(Q(t)\), FontSlant->"Italic"], TraditionalForm]]], " at ", Cell[BoxData[ \(TraditionalForm\`t = a\)]], "; that is, it gives the linearization of ", Cell[BoxData[ FormBox[ StyleBox[\(Q(t)\), FontSlant->"Italic"], TraditionalForm]]], " at the point ", Cell[BoxData[ FormBox[ RowBox[{"(", RowBox[{"a", ",", " ", StyleBox[\(Q(a)\), FontSlant->"Italic"]}], StyleBox[")", FontSlant->"Italic"]}], TraditionalForm]]], "." }], "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[L, a];\)\), "\[IndentingNewLine]", \(L[t_, a_] = \((Q[a] + \(Q\^\[Prime]\)[a]*\((t - a)\))\) // Simplify\)}], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Note that for a specific value of ", StyleBox["a", FontSlant->"Italic"], ", ", "the ", StyleBox["L[ t, a ]", FontWeight->"Bold"], " command gives a linear function. For example," }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(L[t, 2] // N\) // Expand\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Recall that in a preceding calculation we found the values of ", StyleBox["t", FontSlant->"Italic"], " where the average rate of change equals the instantaneous rate of change. \ We repeat the calculation here." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(a = Solve[\(Q\^\[Prime]\)[t] \[Equal] Q\&_\^\[Prime], t]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Now we find the equations of the tangent lines at the two points in the \ domain where ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Italic"], "\[Prime]"], "(", "t", ")"}], "="}], TraditionalForm]]], Cell[BoxData[ SuperscriptBox[ OverscriptBox[ StyleBox["Q", FontSlant->"Italic"], "_"], "\[Prime]"]]], " and graph them together with ", Cell[BoxData[ \(TraditionalForm\`Q(t)\)]], " and ", Cell[BoxData[ \(TraditionalForm\`\(Q\_2\)(t)\)]], "." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(tangent1 = L[t, a[\([2, 1, 2]\)]] // Simplify\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(tangent2 = L[t, a[\([3, 1, 2]\)]] // Simplify\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[{Q[t], Q\_2[t], tangent1, tangent2}, {t, 0, 24}, PlotStyle \[Rule] {{RGBColor[0, 0, 1]}, {RGBColor[1, 0, 0]}, {RGBColor[0, 0, 0]}, {RGBColor[0, 0, 0]}}, AxesLabel \[Rule] {"\", \*"\"\\""}];\)\)], \ "Input", PageWidth->PaperWidth], Cell["Let's zoom in a little.", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[{Q[t], Q\_2[t], tangent1, tangent2}, {t, 0, 11}, PlotStyle \[Rule] {{RGBColor[0, 0, 1]}, {RGBColor[1, 0, 0]}, {RGBColor[0, 0, 0]}, {RGBColor[0, 0, 0]}}, AxesLabel \[Rule] {"\", \*"\"\\""}];\)\)], \ "Input", PageWidth->PaperWidth], Cell[TextData[{ "We see that the tangents at the two points are parallel to the secant \ line. That is, ", Cell[BoxData[ \(TraditionalForm\`\(\(\(Q\^\[Prime]\)(t)\)\(=\)\)\)]], Cell[BoxData[ \(TraditionalForm\`\(\[CapitalDelta]\ Q\)\/\(\[CapitalDelta]\ t\)\)]], Cell[BoxData[ \(TraditionalForm\` = \)]], Cell[BoxData[ RowBox[{" ", SuperscriptBox[ OverscriptBox[ StyleBox["Q", FontSlant->"Italic"], "_"], "\[Prime]"]}]]], " at these two points." }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["Let's Drain the Dam Thing", "Subsection", PageWidth->PaperWidth], Cell[TextData[{ "Now that we have a full detention basin, we need to figure out how to \ drain it. The design includes a pump that is capable of pumping 5000 ", Cell[BoxData[ \(TraditionalForm\`ft\^3\/hr\)]], "out of the basin. This rate of outflow is acceptable and won't flood our \ neighbors. The pump doesn't start until the amount of water in the reservoir \ reaches 50,000 cubic feet, and then it runs until the reservoir is empty. \ Let's find a function to describe how the water accumulates in the basin \ under these conditions. First, we determine when the pump will kick on." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(\(ton\)\(=\)\(Solve[Q[t] \[Equal] 50000, t]\)\(\ \ \ \ \ \)\( (*This\ command\ won' t\ work, \ but\ don' t\ give\ \(up!\)*) \)\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The ", StyleBox["Solve[ ]", FontWeight->"Bold"], " command doesn't work for this function, so we resort to the ", StyleBox["FindRoot[ ]", FontWeight->"Bold"], " command. From the graph of ", Cell[BoxData[ \(TraditionalForm\`Q(t)\)]], ", it appears that the water will reach 50000 cubic feet at about 4 hours, \ so we use this as a starting value in the ", StyleBox["FindRoot[ ]", FontWeight->"Bold"], " command." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(ton = FindRoot[Q[t] \[Equal] 50000, {t, 4}]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ ButtonBox[ ButtonBox[ RowBox[{ StyleBox["\[MathematicaIcon]", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontSize->14, FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontSize->14, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]]}], ButtonStyle->"Hyperlink"], ButtonData:>"h2", ButtonStyle->"Hyperlink"]], "Input", PageWidth->PaperWidth, Evaluatable->False, CellTags->"h2b"], Cell["\<\ Now we can form the rate-of-fill function and graph it. First, we define the \ rate of inflow and the rate of outflow and graph each of them.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(inflowrate[t_] = 10000 \( t\^2\) Exp[\(-t\)/2]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The outflow rate function is piecewise defined since its value is 0 for ", StyleBox["t ", FontSlant->"Italic"], "< 3.92 and 5000 for ", StyleBox["t ", FontSlant->"Italic"], "\[GreaterEqual] 3.92. In ", StyleBox["Mathematica", FontSlant->"Italic"], ", the ", StyleBox["UnitStep[ ]", FontWeight->"Bold"], " command works well for constructing piecewise defined functions because \ ", StyleBox["Mathematica", FontSlant->"Italic"], " integrates the ", StyleBox["UnitStep[ ] ", FontWeight->"Bold"], "function correctly. The ", StyleBox["UnitStep[t ]", FontWeight->"Bold"], " function has a value of 0 for ", StyleBox["t ", FontSlant->"Italic"], "< 0 and 1 for ", StyleBox["t ", FontSlant->"Italic"], "\[GreaterEqual] 0. See how it works to define the outflow rate function in \ the next cell." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(outflowrate[t_] = 5000*UnitStep[t - ton[\([1, 2]\)]]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ ButtonBox[ ButtonBox[ RowBox[{ StyleBox["\[MathematicaIcon]", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontSize->14, FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontSize->14, FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontSize->14, FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]]}], ButtonStyle->"Hyperlink"], ButtonData:>"h3", ButtonStyle->"Hyperlink"]], "Input", PageWidth->PaperWidth, Evaluatable->False, CellTags->"h3b"], Cell[BoxData[ \(\(Plot[{inflowrate[t], outflowrate[t]}, {t, 0, 48}, AxesLabel -> {"\", \*"\"\\""}, PlotStyle \[Rule] {{RGBColor[1, 0, 1]}, {RGBColor[0, 1, 0]}}];\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The rate at which water accumulates is represented as the difference \ between the two curves, that is, (", StyleBox["inflowrate[t] - outflowrate[t]", FontWeight->"Bold"], "). The accumulated water can be represented as the signed area between the \ two graphs. To show this, we use the ", StyleBox["FilledPlot[ ]", FontWeight->"Bold"], " command from the special package, ", StyleBox["Graphics`FilledPlot`", FontWeight->"Bold"], ", that we loaded above. \n\nFirst, let's figure out when the reservoir \ stops filling and begins to drain. This will occur when the outflow rate of \ 5000 ", Cell[BoxData[ \(TraditionalForm\`ft\^3/hr\)]], " exceeds the inflow rate. In the graph above, it is the point where the \ two curves cross near ", Cell[BoxData[ \(TraditionalForm\`t = 12\)]], " hours. " }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(FindRoot[\(Q\^\[Prime]\)[t] \[Equal] 5000, {t, 12}]\)], "Input", PageWidth->PaperWidth], Cell["\<\ Let's plot the curves with the net inflow area colored red and the net \ outflow area colored blue.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(p1 = FilledPlot[{inflowrate[t], outflowrate[t]}, {t, 0, 10.9652}, AxesLabel -> {"\", \*"\"\\""}, PlotStyle \[Rule] {{Thickness[0.010], RGBColor[1, 0, 1]}, {Thickness[0.010], RGBColor[0, 1, 0]}}, Fills \[Rule] {RGBColor[1, 0, 0]}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(p2 = FilledPlot[{inflowrate[t], outflowrate[t]}, {t, 10.9652, 40}, AxesLabel -> {"\", \*"\"\\""}, PlotStyle \[Rule] {{Thickness[0.010], RGBColor[1, 0, 1]}, {Thickness[0.010], RGBColor[0, 1, 0]}}, Fills \[Rule] {RGBColor[0, 0, 1]}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Show[p1, p2];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ The red area in the preceding graph represents the amount of water that has \ accumulated in the reservoir, and the blue area represents the net amount \ that has drained out of the reservoir. From the preceding graph, can you \ estimate when the basin will stop filling, when it will start draining, and \ when it will be empty? Let's form a function to describe the rate at which water accumulates in the \ basin and graph it. \ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[Q];\)\), "\[IndentingNewLine]", \(\(Q\^\[Prime]\)[t_] = inflowrate[t] - outflowrate[t]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[\(Q\^\[Prime]\)[t], {t, 0, 48}, AxesLabel -> {"\", \*"\"\<\!\(Q\^\[Prime]\) (\!\(ft\^3\)/hr)\ \>\""}, PlotStyle \[Rule] {RGBColor[0, 0, 1]}];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ Can you tell any better from the preceding graph when the basin will stop \ filling, when it will start draining, and when it will be empty?\ \>", "Text", PageWidth->PaperWidth], Cell[TextData[{ "You can use the ", StyleBox["antidifferentate[ ]", FontWeight->"Bold"], " command to watch the basin fill and drain. Animate the graphics if you \ wish to do so.\n\nNote: The ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command generates a lot of graphics, which may fill up your computer's \ memory. Before executing the next command, pull down the Kernel menu and \ select Delete All Output. All computed values are saved when you do this.\n\n\ ", StyleBox["Since the next command generates a lot of output, you probably \ won't want to print this notebook until after you have deleted most or all of \ the graphs. We recommend deleting all but a few representative cells from the \ sequence before you print.", CellFrame->True, Background->GrayLevel[0.849989]] }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(antidifferentiate[\(Q\^\[Prime]\)[t], t, 0, 48, 0]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "It appears that the reservoir will be fully drained at about 36 hours \ after the storm begins or 12 hours after the storm ends. This occurs when the \ graph of ", StyleBox["Q[t]", FontWeight->"Bold"], " crosses the ", StyleBox["t", FontSlant->"Italic"], " axis and when the blue area is equal to the red area on the graph of ", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ SuperscriptBox[ StyleBox["Q", FontWeight->"Bold", FontSlant->"Plain"], "\[Prime]"], FontSlant->"Italic"], StyleBox["[", FontWeight->"Bold"], StyleBox["t", FontWeight->"Bold", FontSlant->"Plain"], StyleBox["]", FontWeight->"Bold"]}], TraditionalForm]]], ". Let's try it. Change the ending time to 36 hours in the command above, \ and execute it again." }], "Text", PageWidth->PaperWidth], Cell["\<\ How much water does the detention basin have to hold if we include the pump \ in the design?\ \>", "Text", PageWidth->PaperWidth] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Calculus Has its Ups and Downs on Elevators", "Section", PageWidth->PaperWidth], Cell[TextData[{ "The following function describes the velocity of an elevator during a \ 12-second trip from the ground floor to the eighth floor, which is the top \ floor of the building. In this case, ", StyleBox["Q[t] ", FontWeight->"Bold"], "represents the height of the elevator above the ground floor and ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}], TraditionalForm]], FontWeight->"Bold"], " the velocity schedule over the 12-second time interval. At first, we go \ through the steps with you (except step 10), and then we ask you to do one on \ your own." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "First, we define a function that works well in ", StyleBox["Mathematica", FontSlant->"Italic"], " for piecewise defined functions because ", StyleBox["Mathematica", FontSlant->"Italic"], " integrates it correctly. It uses the ", StyleBox["UnitStep[t ]", FontWeight->"Bold"], " function, which has a value of 0 for ", StyleBox["t ", FontSlant->"Italic"], "< 0 and 1 for ", StyleBox["t ", FontSlant->"Italic"], "\[GreaterEqual] 0. The function ", StyleBox["onoff[t, a, b]", FontWeight->"Bold"], ", defined in the next cell, is equal to 1 for ", Cell[BoxData[ \(TraditionalForm\`a\ \[LessEqual] \ t\ < \ b\)]], ", and is 0 otherwise. You will see how it works to define a piecewise \ function for the velocity of the elevator. " }], "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[a, b, t];\)\), "\[IndentingNewLine]", \(onoff[t_, a_, b_] = UnitStep[t - a] - UnitStep[t - b]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[{\(Clear[Q];\), "\[IndentingNewLine]", RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t_", "]"}], "=", \(6*t*onoff[t, 0, 2] + 12*onoff[t, 2, 10] + \((72 - 6*t)\)*onoff[t, 10, 12]\)}]}], "Input", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{ RowBox[{"Plot", "[", RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}], ",", \({t, 0, 12}\), ",", \(PlotStyle \[Rule] {RGBColor[0, 0, 1]}\), ",", \(PlotRange \[Rule] All\), ",", \(AxesLabel \[Rule] {"\", "\"}\)}], "]"}], ";"}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Use the function ", Cell[BoxData[ StyleBox[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontWeight->"Bold"], "\[Prime]"], "[", "t", "]"}], FontWeight->"Bold"]]], " to perform the following tasks.\n\n1. Form a ", StyleBox["Q[t_]", FontWeight->"Bold"], " function that represents the height of the elevator above the ground \ floor, and graph the function. " }], "Text", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{\(Q[t_]\), "=", RowBox[{\(\[Integral]\_0\%t\), RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "u", "]"}], \(\[DifferentialD]u\)}]}]}]], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[Q[t], {t, 0, 12}, PlotStyle \[Rule] {RGBColor[1, 0, 0]}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ 2. If each story of the building is the same height, determine the height of \ the building. (Be careful. The elevator stops at the bottom of the top \ floor.)\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(heightofeachfloor = Q[12]/7 // N\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(heightofbuilding = 8*heightofeachfloor\)], "Input", PageWidth->PaperWidth], Cell["\<\ 3. Determine the average velocity of the elevator during the 12-second trip.\ \ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{"vavg", "=", RowBox[{\(1\/\(12 - 0\)\), RowBox[{\(\[Integral]\_0\%12\), RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}], \(\[DifferentialD]t\)}]}]}]}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "4. Plot ", Cell[BoxData[ StyleBox[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontWeight->"Bold"], "\[Prime]"], "[", "t", "]"}], FontWeight->"Bold"]]], " and the constant average-velocity function on the same graph." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{ RowBox[{"Plot", "[", " ", RowBox[{ RowBox[{"{", StyleBox[\(\(Q\^\[Prime]\)[t], vavg\), FontWeight->"Bold"], StyleBox["}", FontWeight->"Bold"]}], StyleBox[",", FontWeight->"Bold"], StyleBox[\({t, 0, 12}\), FontWeight->"Bold"], StyleBox[",", FontWeight->"Bold"], \(PlotRange \[Rule] All\), ",", StyleBox[\(AxesLabel -> {"\", \*"\"\<\!\(Q\^\[Prime]\)[t] \ and vavg(ft/sec)\>\""}\), FontWeight->"Bold"], StyleBox[",", FontWeight->"Bold"], StyleBox[\(PlotStyle -> {{RGBColor[0, 0, 1]}, {RGBColor[1, 0, 0]}}\), FontWeight->"Bold"]}], StyleBox["]", FontWeight->"Bold"]}], StyleBox[";", FontWeight->"Bold"]}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "5. Determine the times when the instantaneous velocity is equal to the \ average velocity over the 12-second interval. (", StyleBox["Solve[ ] ", FontWeight->"Bold"], "won't work and ", StyleBox["FindRoot[ ] ", FontWeight->"Bold"], "won't work with only one starting value. It needs two starting values.", ")" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{"FindRoot", "[", StyleBox[\(\(Q\^\[Prime]\)[t] == 10, {t, 1. , 1.5}\), FontWeight->"Bold"], StyleBox["]", FontWeight->"Bold"]}]], "Input", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{"FindRoot", "[", StyleBox[\(\(Q\^\[Prime]\)[t] == 10, {t, 10.5, 11.5}\), FontWeight->"Bold"], StyleBox["]", FontWeight->"Bold"]}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "6. Use the special function ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " to depict the motion of the elevator as it travels to the top floor. (The \ ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command generates a lot of graphics, which tend to fill up computer \ memory. Pull down the Kernel menu and select Delete All Output before \ executing the next command. All computed values are saved when you do this.)" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{"antidifferentiate", "[", StyleBox[\(\(Q\^\[Prime]\)[t], t, 0, 12, 0\), FontWeight->"Bold"], StyleBox["]", FontWeight->"Bold"]}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "7. Plot a graph of the height of the elevator if it were to travel to the \ eighth floor at a constant speed that is equal to its average speed during \ the actual trip, and then superimpose this graph on the actual graph of ", StyleBox["Q[t]", FontWeight->"Bold"], ". " }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Qlin[t_] = vavg*t\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{ RowBox[{"p1", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"{", StyleBox[\(Q[t], Qlin[t]\), FontWeight->"Bold"], StyleBox["}", FontWeight->"Bold"]}], StyleBox[",", FontWeight->"Bold"], StyleBox[\({t, 0, 12}\), FontWeight->"Bold"], StyleBox[",", FontWeight->"Bold"], StyleBox[\(PlotStyle -> {RGBColor[0, 0, 1], RGBColor[1, 0, 0]}\), FontWeight->"Bold"], StyleBox[",", FontWeight->"Bold"], StyleBox[\(AxesLabel -> \ {\*"\"\\\\"\)height(ft)\>\""}\), FontWeight->"Bold"]}], StyleBox["]", FontWeight->"Bold"]}]}], StyleBox[";", FontWeight->"Bold"]}]], "Input", PageWidth->PaperWidth], Cell[TextData[{ "8. Find the linearizations of ", StyleBox["Q[t]", FontWeight->"Bold"], " at the two times when the instantaneous velocity is equal to the average \ velocity, and superimpose the graphs of the two tangent lines on the graph \ found in step 7 above. (They should be parallel to the secant line between \ the two points on the graph of ", StyleBox["Q[t]", FontWeight->"Bold"], " at the beginning and end of the trip.)" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(L[t_, a_] := Q[a] + \(Q\^\[Prime]\)[a]*\((t - a)\);\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(tangent1 = L[t, 1.66667] // Expand\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(tangent2 = L[t, 10.33333] // Expand\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(p2 = Plot[{tangent1, tangent2}, {t, 0, 12}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Show[p2, p1];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ 9. Plot the acceleration of the elevator during the trip, and describe the \ sensations you would feel if you were riding in the elevator as it travels \ from the ground floor to the top floor of the building.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[\(Q\^\[DoublePrime]\)[t], {t, 0, 12}, AxesLabel \[Rule] {"\", \*"\"\\""}, PlotStyle \[Rule] {RGBColor[1, 0, 0]}];\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "10. Assuming that the elevator always accelerates and decelerates at 6 ", Cell[BoxData[ \(TraditionalForm\`ft\/sec\^2\)]], "and cruises at 12 ", Cell[BoxData[ \(TraditionalForm\`ft\/sec\)]], ", determine how long it would take the elevator to start at one floor, \ travel to the next floor, and stop there. Hint: The elevator does not reach \ cruising speed. It accelerates at 6 ", Cell[BoxData[ \(TraditionalForm\`ft/sec\^2\)]], " for the first half of the trip and then decelerates at ", Cell[BoxData[ \(TraditionalForm\`\(-6\)\ ft/sec\^2\)]], " during the second half of the trip. Therefore, the velocity versus time \ function will be an isosceles triangle, and the area of this triangle is the \ height of one floor. From this you can figure out the duration of the trip. \ Answer: It takes 3.38 seconds to start at one floor and stop at the next." }], "Text", PageWidth->PaperWidth], Cell["\<\ 11. Make up your own velocity schedule for the elevator and repeat steps 1 \ through 9. Here is one we made up where the elevator travels to the top floor \ and waits there for a three seconds, and then, after everybody gets off, the \ cable breaks.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[Q];\)\), "\[IndentingNewLine]", \(\(Q\^\[Prime]\)[t_] = 6*t*onoff[t, 0, 2] + 12*onoff[t, 2, 10] + \((72 - 6*t)\)*onoff[t, 10, 12] - 32*\((t - 15)\)*UnitStep[t - 15]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ RowBox[{ RowBox[{"Plot", "[", RowBox[{ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}], ",", \({t, 0, 18}\), ",", \(PlotStyle \[Rule] {RGBColor[0, 0, 1], Thickness[0.010]}\), ",", \(PlotRange \[Rule] All\), ",", \(AxesLabel \[Rule] {"\", "\"}\)}], "]"}], ";"}]], "Input", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Launching a Model Rocket", "Section", PageWidth->PaperWidth], Cell[TextData[StyleBox["Chapter 2, Section 2, Exercise 15", FontWeight->"Bold"]], "Text", PageWidth->PaperWidth], Cell[TextData[{ "When a model rocket is launched, the propellant burns for a few seconds, \ accelerating the rocket upward. The acceleration increases during this period \ because the mass of the rocket decreases as it burns fuel while the upward \ thrust of the engine and the downward pull of gravity remain essentially \ constant. After burnout, the rocket coasts upward for a while and then begins \ to fall, all the while accelerating downward at a rate equal to ", StyleBox["g", FontSlant->"Italic"], " (i.e., 32 ", Cell[BoxData[ \(TraditionalForm\`ft\/sec\^2\)]], "). A small explosive charge pops out a parachute shortly after the rocket \ starts down. The parachute slows the rocket to keep it from breaking when it \ lands. The following function describes the rate of change of velocity of the \ rocket (i.e., its acceleration) during the flight. In this case, ", StyleBox["Q[t]", FontWeight->"Bold"], " represents the velocity of the rocket, and ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}], TraditionalForm]], FontWeight->"Bold"], " represents its acceleration. " }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(onoff[t_, timeon_, timeoff_] = UnitStep[t - timeon] - UnitStep[t - timeoff]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[{ \(\(Clear[Q];\)\), "\[IndentingNewLine]", \(\(Q\^\[Prime]\)[t_] = \((95*t)\)*onoff[t, 0, 2] - 32*onoff[t, 2, 10.8] + 69.3\ \[ExponentialE]\^\(\(-0.8664\) \((\(-10.8\) + t)\)\)* UnitStep[t - 10.8]\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[\(Q\^\[Prime]\)[t], {t, 0, 16}, PlotStyle \[Rule] {Thickness[0.010], RGBColor[0, 0, 1]}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Use the function ", Cell[BoxData[ RowBox[{ SuperscriptBox[ StyleBox["Q", FontSlant->"Plain"], "\[Prime]"], "[", "t", "]"}]]], " to perform the following tasks.\n\n1. Determine the average acceleration \ between ", StyleBox["t", FontSlant->"Italic"], " = 0 and ", StyleBox["t", FontSlant->"Italic"], " = 15 seconds, and superimpose a graph of the constant \ average-acceleration function onto the graph of the actual-acceleration \ function." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "2. Determine the times between ", StyleBox["t", FontSlant->"Italic"], " = 0 and ", StyleBox["t", FontSlant->"Italic"], " = 15 seconds, if any, where the instantaneous acceleration is equal to \ the average acceleration over that same time interval. If there are no times \ where the instantaneous acceleration is equal to the average acceleration, \ explain why this does not contradict the Mean Value Theorem." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "3. Given that the initial velocity of the rocket is 0, form a function \ that gives the velocity of the rocket as a function of time, and graph it. \ Use the graph to estimate when the rocket reaches its maximum height, and \ when it lands. You may have to adjust the domain over which you plot ", StyleBox["Q[t]", FontWeight->"Bold"], " to answer the last question." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Q[t_] = \[Integral]\_0\%t\( Q\^\[Prime]\)[ u] \[DifferentialD]u\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[Q[t], {t, 0, 30}, PlotRange \[Rule] All, PlotStyle \[Rule] {Thickness[0.010], RGBColor[0, 0, 1]}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ 4. Find the maximum velocity and the minimum velocity of the rocket during \ the trip.\ \>", "Text", PageWidth->PaperWidth], Cell[TextData[{ "5. Use the ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " function to depict the accumulation of velocity between ", StyleBox["t", FontSlant->"Italic"], " = 0 and ", StyleBox["t", FontSlant->"Italic"], " = 25 seconds. (The ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command generates a lot of graphics, which tend to fill up computer \ memory. Pull down the Kernel menu and select Delete All Output before \ executing the next command. All computed values are saved when you do this.)" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(antidifferentiate[\(Q\^\[Prime]\)[t], t, 0, 25, 0]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "6. Redefine ", Cell[BoxData[ StyleBox[\(\(Q\^\[Prime]\)[t]\), FontWeight->"Bold"]]], " to be the velocity function, and use it to construct ", StyleBox["Q[t]", FontWeight->"Bold"], ", which will now represent the height of the rocket above the ground. Then \ graph ", StyleBox["Q[t]", FontWeight->"Bold"], ". To assign the current ", StyleBox["Q[t]", FontWeight->"Bold"], " function to ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t]\)], FontWeight->"Bold"], ", give ", StyleBox["Q[t] ", FontWeight->"Bold"], "in a temporary name (e.g., ", StyleBox["temp=Q[t]", FontWeight->"Bold"], "), and then", StyleBox[" Clear[Q]", FontWeight->"Bold"], " and redefine ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t_]\)], FontWeight->"Bold"], " (e.g., ", Cell[BoxData[ \(\(Q\^\[Prime]\)[t_]\)], FontWeight->"Bold"], StyleBox["=temp", FontWeight->"Bold"], "). " }], "Text", PageWidth->PaperWidth], Cell[BoxData[{ \(\(temp = Q[t];\)\), "\n", \(\(Clear[Q];\)\), "\n", \(\(\(Q\^\[Prime]\)[t_] = temp;\)\), "\n", \(Q[t_] = \[Integral]\_0\%t\( Q\^\[Prime]\)[ u] \[DifferentialD]u\)}], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[\(Q\^\[Prime]\)[t], {t, 0, 30}, PlotStyle \[Rule] {Thickness[0.010], RGBColor[0, 0, 1]}, AxesLabel \[Rule] {"\", "\"}, PlotRange \[Rule] All];\)\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "7. Use ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " to study the velocity and height functions as the rocket flies. (The ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command generates a lot of graphics, which tend to fill up computer \ memory. Pull down the Kernel menu and select Delete All Output before \ executing the next command. All computed values are saved when you do this.)" }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(antidifferentiate[\(Q\^\[Prime]\)[t], t, 0, 35, 0]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "8. Determine how high the rocket goes and when it lands. To answer the \ latter question, you may have to adjust the time limits in the ", StyleBox["antidifferentiate[ ]", FontWeight->"Bold"], " command in the preceding cell." }], "Text", PageWidth->PaperWidth], Cell["\<\ 9. Determine the average velocity of the rocket between the time that it is \ at its maximum height and when it lands. Also, find the time or times in the \ same interval of time that the average velocity is equal to the instantaneous \ velocity. \ \>", "Text", PageWidth->PaperWidth], Cell["\<\ 10. On the velocity graph, superimpose a graph of the constant average \ velocity over the interval described in step 9, and indicate on the graph the \ time or times that the instantaneous velocity is equal to the average \ velocity over the interval.\ \>", "Text", PageWidth->PaperWidth], Cell[TextData[{ "11. Find the linearizations of ", StyleBox["Q[t]", FontWeight->"Bold"], " at the times that the average velocity over the interval described in \ step 7 is equal to the instantaneous velocity. Also find the equation of the \ secant line on the graph of ", StyleBox["Q[t]", FontWeight->"Bold"], ", between the times that the rocket is at its maximum height and when it \ lands. Then superimpose the graphs of these lines (the secant and tangent \ lines) on the graph of ", StyleBox["Q[t]", FontWeight->"Bold"], ". " }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["\[MathematicaIcon]", FontWeight->"Bold", FontColor->RGBColor[0.792981, 0.777356, 0.144533], FontVariations->{"CompatibilityType"->0}], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["About", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.500008]], StyleBox[" ", FontWeight->"Bold", FontSlant->"Italic"], StyleBox["Mathematica", FontWeight->"Bold", FontSlant->"Italic", FontColor->RGBColor[0.500008, 0, 0.500008]] }], "Section", PageWidth->PaperWidth, CellDingbat->None], Cell[TextData[{ "The error message that appears when you execute the ", StyleBox["Solve[ ]", FontWeight->"Bold"], " command warns you that whenever ", StyleBox["Mathematica", FontSlant->"Italic"], " uses inverse functions to solve an equation, some solutions may not be \ provided. A good example of this is the equation ", Cell[BoxData[ \(TraditionalForm\`sin\ x = 1\)]], ". ", StyleBox["Mathematica", FontSlant->"Italic"], " will use the inverse sine function to solve this equation, giving ", StyleBox["x", FontSlant->"Italic"], " = ", Cell[BoxData[ \(TraditionalForm\`\[Pi]\/2\)]], " (with the same warning message). We all know, however, that the equation \ actually has infinitely many solutions. They are", Cell[BoxData[ \(TraditionalForm\`\(\(\ \)\(x\ = \ \((4 n + 1)\)\)\)\)]], Cell[BoxData[ \(TraditionalForm\`\[Pi]\/2\)]], ", where ", StyleBox["n", FontSlant->"Italic"], " can be any integer. You might try using ", StyleBox["Mathematica", FontSlant->"Italic"], " to solve ", Cell[BoxData[ \(TraditionalForm\`sin\ x = 1\)]], ". ", ButtonBox["Go Back.", ButtonData:>"h1b", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h1"], Cell[TextData[{ StyleBox["FindRoot[Q[t] = = 50000, ", FontWeight->"Bold"], Cell[BoxData[ FormBox[ RowBox[{ StyleBox["{", FontWeight->"Bold"], RowBox[{ StyleBox["t", FontWeight->"Bold", FontSlant->"Plain"], StyleBox[",", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], StyleBox["4", FontWeight->"Bold"]}], StyleBox["}", FontWeight->"Bold"]}], TraditionalForm]]], StyleBox["]", FontWeight->"Bold"], " searches for a numerical solution to the equation ", StyleBox["Q[t] = = 50000", FontWeight->"Bold"], ", starting with", StyleBox[" ", FontWeight->"Bold"], Cell[BoxData[ FormBox[ RowBox[{ StyleBox["t", FontSlant->"Plain"], "=", "4"}], TraditionalForm]], FontWeight->"Bold"], ". To find out more about the ", StyleBox["FindRoot[ ] ", FontWeight->"Bold"], "command, pull down the Help menu, select the Help Browser, and type ", StyleBox["FindRoot", FontWeight->"Bold"], ". ", ButtonBox["Go Back.", ButtonData:>"h2b", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h2"], Cell[TextData[{ "In ", StyleBox["Mathematica", FontSlant->"Italic"], ", the ", StyleBox["UnitStep[t] ", FontWeight->"Bold"], "command is the unit step function, sometimes called the Heaviside step \ function. This function has a value of 0 when the value of the independent \ variable is less than 0, and its value is 1 when the value of the independent \ variable is greater than or equal to 0. To learn more about the ", StyleBox["UnitStep[ ] ", FontWeight->"Bold"], "command, pull down the Help menu, select the Help Browser, and type ", StyleBox["UnitStep", FontWeight->"Bold"], ". ", ButtonBox["Go Back.", ButtonData:>"h3b", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h3"] }, Closed]] }, Open ]] }, FrontEndVersion->"4.0 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, AutoGeneratedPackage->None, WindowSize->{784, 668}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic} ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{ "h1b"->{ Cell[22522, 547, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h1b"]}, "h2b"->{ Cell[38463, 1037, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h2b"]}, "h3b"->{ Cell[40808, 1118, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h3b"]}, "h1"->{ Cell[68764, 1985, 1273, 41, 134, "Text", CellTags->"h1"]}, "h2"->{ Cell[70040, 2028, 1292, 46, 71, "Text", CellTags->"h2"]}, "h3"->{ Cell[71335, 2076, 754, 22, 109, "Text", CellTags->"h3"]} } *) (*CellTagsIndex CellTagsIndex->{ {"h1b", 72804, 2121}, {"h2b", 72910, 2125}, {"h3b", 73017, 2129}, {"h1", 73123, 2133}, {"h2", 73202, 2136}, {"h3", 73280, 2139} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 79, 1, 150, "Title"], Cell[1821, 54, 153, 4, 37, "Text"], Cell[1977, 60, 558, 12, 19, "Input", CellOpen->False, InitializationCell->True], Cell[2538, 74, 10476, 174, 19, "Input", CellOpen->False, InitializationCell->True], Cell[CellGroupData[{ Cell[13039, 252, 56, 1, 53, "Section"], Cell[13098, 255, 742, 13, 185, "Text"], Cell[CellGroupData[{ Cell[13865, 272, 99, 2, 47, "Subsection"], Cell[13967, 276, 1415, 36, 299, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[15431, 318, 65, 1, 33, "Section"], Cell[CellGroupData[{ Cell[15521, 323, 57, 1, 47, "Subsection"], Cell[15581, 326, 778, 14, 185, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[16396, 345, 66, 1, 47, "Subsection"], Cell[16465, 348, 818, 26, 77, "Text"], Cell[17286, 376, 158, 3, 50, "Input"], Cell[17447, 381, 226, 4, 52, "Input"], Cell[17676, 387, 129, 3, 30, "Input"], Cell[17808, 392, 110, 2, 30, "Input"], Cell[17921, 396, 81, 2, 30, "Input"], Cell[18005, 400, 553, 18, 71, "Text"], Cell[18561, 420, 107, 2, 30, "Input"], Cell[18671, 424, 701, 16, 166, "Text"], Cell[19375, 442, 81, 2, 30, "Input"], Cell[19459, 446, 241, 5, 52, "Input"], Cell[19703, 453, 206, 5, 52, "Text"], Cell[19912, 460, 135, 3, 42, "Input"], Cell[20050, 465, 330, 8, 93, "Text"], Cell[20383, 475, 74, 2, 34, "Input"], Cell[20460, 479, 374, 11, 71, "Text"], Cell[20837, 492, 174, 3, 42, "Input"], Cell[21014, 497, 435, 14, 55, "Text"], Cell[21452, 513, 152, 3, 63, "Input"], Cell[21607, 518, 654, 17, 77, "Text"], Cell[22264, 537, 142, 4, 33, "Text"], Cell[22409, 543, 110, 2, 31, "Input"], Cell[22522, 547, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h1b"], Cell[23535, 580, 575, 20, 90, "Text"], Cell[24113, 602, 266, 4, 62, "Input"], Cell[24382, 608, 203, 4, 52, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[24622, 617, 60, 1, 47, "Subsection"], Cell[24685, 620, 1926, 45, 394, "Text"], Cell[26614, 667, 108, 2, 30, "Input"], Cell[26725, 671, 1254, 33, 175, "Text"], Cell[27982, 706, 366, 6, 71, "Text"], Cell[28351, 714, 104, 2, 31, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[28492, 721, 84, 1, 47, "Subsection"], Cell[28579, 724, 185, 4, 52, "Text"], Cell[28767, 730, 283, 5, 72, "Input"], Cell[29053, 737, 573, 14, 90, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[29663, 756, 86, 1, 47, "Subsection"], Cell[29752, 759, 183, 4, 52, "Text"], Cell[29938, 765, 147, 3, 50, "Input"], Cell[30088, 770, 239, 5, 70, "Input"], Cell[30330, 777, 3475, 104, 311, "Text"], Cell[33808, 883, 186, 4, 50, "Input"], Cell[33997, 889, 252, 10, 33, "Text"], Cell[34252, 901, 84, 2, 30, "Input"], Cell[34339, 905, 275, 7, 52, "Text"], Cell[34617, 914, 114, 2, 31, "Input"], Cell[34734, 918, 674, 24, 52, "Text"], Cell[35411, 944, 103, 2, 30, "Input"], Cell[35517, 948, 103, 2, 30, "Input"], Cell[35623, 952, 318, 6, 90, "Input"], Cell[35944, 960, 64, 1, 33, "Text"], Cell[36011, 963, 318, 6, 90, "Input"], Cell[36332, 971, 562, 17, 55, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[36931, 993, 72, 1, 47, "Subsection"], Cell[37006, 996, 636, 11, 134, "Text"], Cell[37645, 1009, 206, 4, 50, "Input"], Cell[37854, 1015, 502, 16, 71, "Text"], Cell[38359, 1033, 101, 2, 30, "Input"], Cell[38463, 1037, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h2b"], Cell[39476, 1070, 190, 4, 52, "Text"], Cell[39669, 1076, 104, 2, 30, "Input"], Cell[39776, 1080, 916, 32, 109, "Text"], Cell[40695, 1114, 110, 2, 30, "Input"], Cell[40808, 1118, 1010, 31, 44, "Input", Evaluatable->False, CellTags->"h3b"], Cell[41821, 1151, 274, 5, 73, "Input"], Cell[42098, 1158, 892, 23, 166, "Text"], Cell[42993, 1183, 109, 2, 30, "Input"], Cell[43105, 1187, 148, 4, 33, "Text"], Cell[43256, 1193, 383, 7, 113, "Input"], Cell[43642, 1202, 384, 7, 113, "Input"], Cell[44029, 1211, 75, 2, 30, "Input"], Cell[44107, 1215, 479, 10, 128, "Text"], Cell[44589, 1227, 159, 3, 50, "Input"], Cell[44751, 1232, 226, 4, 52, "Input"], Cell[44980, 1238, 189, 4, 52, "Text"], Cell[45172, 1244, 859, 19, 204, "Text"], Cell[46034, 1265, 108, 2, 30, "Input"], Cell[46145, 1269, 973, 29, 90, "Text"], Cell[47121, 1300, 141, 4, 33, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[47311, 1310, 99, 1, 33, "Section"], Cell[47413, 1313, 747, 19, 109, "Text"], Cell[48163, 1334, 841, 25, 109, "Text"], Cell[49007, 1361, 166, 3, 50, "Input"], Cell[49176, 1366, 330, 8, 70, "Input"], Cell[49509, 1376, 459, 12, 50, "Input"], Cell[49971, 1390, 478, 15, 90, "Text"], Cell[50452, 1407, 316, 9, 41, "Input"], Cell[50771, 1418, 201, 4, 50, "Input"], Cell[50975, 1424, 209, 5, 52, "Text"], Cell[51187, 1431, 90, 2, 30, "Input"], Cell[51280, 1435, 96, 2, 30, "Input"], Cell[51379, 1439, 128, 4, 33, "Text"], Cell[51510, 1445, 364, 10, 42, "Input"], Cell[51877, 1457, 331, 11, 33, "Text"], Cell[52211, 1470, 966, 29, 70, "Input"], Cell[53180, 1501, 383, 11, 71, "Text"], Cell[53566, 1514, 219, 6, 30, "Input"], Cell[53788, 1522, 221, 6, 30, "Input"], Cell[54012, 1530, 514, 12, 90, "Text"], Cell[54529, 1544, 220, 6, 30, "Input"], Cell[54752, 1552, 335, 8, 71, "Text"], Cell[55090, 1562, 75, 2, 30, "Input"], Cell[55168, 1566, 938, 28, 70, "Input"], Cell[56109, 1596, 487, 12, 90, "Text"], Cell[56599, 1610, 113, 2, 30, "Input"], Cell[56715, 1614, 92, 2, 30, "Input"], Cell[56810, 1618, 93, 2, 30, "Input"], Cell[56906, 1622, 178, 4, 50, "Input"], Cell[57087, 1628, 75, 2, 30, "Input"], Cell[57165, 1632, 259, 5, 52, "Text"], Cell[57427, 1639, 230, 4, 52, "Input"], Cell[57660, 1645, 949, 20, 150, "Text"], Cell[58612, 1667, 298, 6, 71, "Text"], Cell[58913, 1675, 262, 6, 70, "Input"], Cell[59178, 1683, 488, 13, 70, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[59703, 1701, 80, 1, 33, "Section"], Cell[59786, 1704, 116, 2, 33, "Text"], Cell[59905, 1708, 1278, 29, 188, "Text"], Cell[61186, 1739, 140, 3, 50, "Input"], Cell[61329, 1744, 286, 6, 70, "Input"], Cell[61618, 1752, 223, 4, 70, "Input"], Cell[61844, 1758, 554, 18, 90, "Text"], Cell[62401, 1778, 484, 12, 90, "Text"], Cell[62888, 1792, 432, 9, 90, "Text"], Cell[63323, 1803, 133, 3, 41, "Input"], Cell[63459, 1808, 228, 4, 70, "Input"], Cell[63690, 1814, 136, 4, 33, "Text"], Cell[63829, 1820, 602, 17, 90, "Text"], Cell[64434, 1839, 108, 2, 30, "Input"], Cell[64545, 1843, 998, 40, 90, "Text"], Cell[65546, 1885, 246, 6, 102, "Input"], Cell[65795, 1893, 249, 5, 70, "Input"], Cell[66047, 1900, 486, 11, 90, "Text"], Cell[66536, 1913, 108, 2, 30, "Input"], Cell[66647, 1917, 291, 7, 52, "Text"], Cell[66941, 1926, 297, 6, 71, "Text"], Cell[67241, 1934, 302, 6, 71, "Text"], Cell[67546, 1942, 595, 16, 90, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[68178, 1963, 583, 20, 33, "Section"], Cell[68764, 1985, 1273, 41, 134, "Text", CellTags->"h1"], Cell[70040, 2028, 1292, 46, 71, "Text", CellTags->"h2"], Cell[71335, 2076, 754, 22, 109, "Text", CellTags->"h3"] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)