(*********************************************************************** 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[ 29063, 951]*) (*NotebookOutlinePosition[ 30615, 1007]*) (* CellTagsIndexPosition[ 30479, 998]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Convergence of Secant Slopes to the Derivative Function", "Title", PageWidth->PaperWidth], Cell[TextData[StyleBox["Chapter 2, Sections 1 and 4", FontFamily->"Arial", FontSize->16]], "Text", FontWeight->"Bold"], Cell[BoxData[{\(Off[General::spell]; Off[General::spell1];\), "\[IndentingNewLine]", RowBox[{\(derivApprox[g_, indvar_, a_, b_, intervals_]\), ":=", RowBox[{"Module", "[", RowBox[{\({f, x, alocal, bloc, n, h, flist, secantslopes, p1, p2, p3, p4, yprime}\), ",", "\n", "\t\t", RowBox[{\(ClearAll[n, h, f, yprime, flist, secantslopes, p1, p2, p3]\), ";", "\n", "\t\t", \(f[x_] := g /. indvar \[Rule] x\), ";", "\n", "\t\t", StyleBox[\(yprime = D[f[x], x]\), FontColor->RGBColor[1, 0, 0]], StyleBox[";", FontColor->RGBColor[1, 0, 0]], "\n", "\t\t", \(alocal = a\), ";", "\n", "\t\t", \(bloc = b\), ";", "\n", "\t\t", \(n = intervals\), ";", "\n", "\t\t", \(h = \(bloc - alocal\)\/n\), ";", "\n", "\t\t", RowBox[{"flist", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{\(alocal + i\ h\), ",", StyleBox[\(f[alocal + i\ h]\), FontColor->RGBColor[1, 0, 0]]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "0", ",", StyleBox["n", FontColor->RGBColor[1, 0, 0]]}], "}"}]}], "]"}]}], ";", "\n", "\t\t", RowBox[{"secantslopes", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{\(alocal + i\ h\), ",", StyleBox[\(\(f[alocal + \((i + 1)\)\ h] - f[alocal + i\ h]\)\/h\), FontColor->RGBColor[1, 0, 0]]}], "}"}], ",", RowBox[{"{", RowBox[{"i", ",", "0", ",", StyleBox[\(n - 1\), FontColor->RGBColor[1, 0, 0]]}], "}"}]}], "]"}]}], ";", "\n", "\t\t", RowBox[{"p1", "=", RowBox[{"Plot", "[", RowBox[{ StyleBox[\(f[x]\), FontColor->RGBColor[1, 0, 0]], ",", \({x, alocal, bloc}\), ",", "\n", "\t\t\t\t", \(DisplayFunction \[Rule] Identity\)}], "]"}]}], ";", "\n", "\t\t", \(p2 = ListPlot[flist, PlotStyle \[Rule] {PointSize[0.025], RGBColor[0, 0, 1]}, DisplayFunction \[Rule] Identity]\), ";", \(p3 = ListPlot[flist, PlotJoined \[Rule] True, PlotStyle \[Rule] {RGBColor[1, 0, 0]}, DisplayFunction \[Rule] Identity]\), ";", \(Show[p1, p2, p3, DisplayFunction \[Rule] $DisplayFunction, AxesLabel -> {indvar, {"\", \ "\"}}]\), ";", \(p4 = ListPlot[secantslopes, PlotRange \[Rule] All, PlotStyle \[Rule] {PointSize[0.02], RGBColor[1, 0, 0]}, DisplayFunction \[Rule] Identity]\), ";", "\n", "\t", "\n", "\t\t", \(p5 = Plot[yprime, {x, alocal, bloc}, DisplayFunction -> Identity]\), ";", "\n", "\t\t", \(Print["\< \>"]\), ";", "\n", "\t\t", \(Print["\", g /. x -> indvar, "\< is \>", yprime /. x -> indvar]\), ";", "\n", "\t\t", \(Print["\< \>"]\), ";", "\n", "\t\t", \(Show[p4, p5, \n\t\t\tDisplayFunction \[Rule] $DisplayFunction, \ AxesLabel -> {indvar, {\*"\"\<\!\(y\^\[Prime]\)\>\"", \ "\"}}]\), ";"}]}], "]"}]}]}], "Input", Editable->False, PageWidth->PaperWidth, CellOpen->False, InitializationCell->True], Cell[CellGroupData[{ Cell["Introduction", "Section", PageWidth->PaperWidth], Cell[TextData[{ "\nOBJECTIVE: To visualize the secant line between successive points on a \ curve, observe what happens as the distance between successive points becomes \ small, compare the graph of successive secant line slopes with the graph of \ the derivative function, and apply the definition of the derivative in \ computing it.\n\nOne of the central problems of calculus is measuring and \ quantifying slopes on the graphs of nonlinear functions. In this module, you \ will explore two methods for approximating these slopes and see how the \ approximations approach the derivative function in the limit. \n\nThe first \ method is to extract a sample of evenly spaced points from the graph of a \ function ", Cell[BoxData[ \(TraditionalForm\`y = f(x)\)]], ", calculate the slopes of the secant lines between the sample points, and \ graph the secant slope values together with the derivative function ", Cell[BoxData[ \(TraditionalForm\`\(f\^\[Prime]\)(x)\)]], ". You will see that as the number of sample points increases and the \ horizontal spacing between consecutive points decreases, the set of discrete \ secant-slope values gets closer to the derivative function. \n\nThe second \ method for approximating the slopes on the graph of a function is to take \ every value of ", StyleBox["x", FontSlant->"Italic"], " in the domain of the function ", Cell[BoxData[ \(TraditionalForm\`y = f(x)\)]], " and calculate the slope of the secant line between the two points ", Cell[BoxData[ \(TraditionalForm\`\((x, f(x))\)\)]], " and ", Cell[BoxData[ \(TraditionalForm\`\((x + h, \ f(x + h))\)\)]], " for a fixed nonzero value of ", StyleBox["h", FontSlant->"Italic"], ". This gives a new function of ", StyleBox["x", FontSlant->"Italic"], " and ", StyleBox["h", FontSlant->"Italic"], ", namely, the function of secant slopes for any ", StyleBox["x", FontSlant->"Italic"], " in the domain of ", StyleBox["f", FontSlant->"Italic"], ". This secant-slope function is plotted together with the derivative ", Cell[BoxData[ \(TraditionalForm\`\(f\^\[Prime]\)(x)\)]], ". You will see that as the value of ", StyleBox["h", FontSlant->"Italic"], " gets closer to 0, the secant slope function gets closer to ", Cell[BoxData[ \(TraditionalForm\`\(f\^\[Prime]\)(x)\)]], ". Finally, you will see how to use ", StyleBox["Mathematica", FontSlant->"Italic"], " to take the limit of the secant-slope function as ", StyleBox["h", FontSlant->"Italic"], " approaches 0.\n\n", StyleBox["Before you begin this module, we recommend that you refer to \ \"Tangents and Secants,\" a JAVA applet included in this supplement. This \ applet allows you to explore how the slopes of secant lines converge to the \ slope of the line tangent to a curve at a point.", PageWidth->PaperWidth] }], "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: Secant Slopes from a Discrete Set of Sample of Points\ \>", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Sections 1 and 4", "Text", FontWeight->"Bold"], Cell[TextData[{ "The function ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], " extracts ", StyleBox["n", FontWeight->"Bold"], " evenly spaced sample points from a differentiable function and calculates \ the slopes of the secant lines between consecutive pairs of sample points. It \ then plots the function, the sample points, and the secant lines on one \ graph. A second graph is plotted to show the slopes of the secant lines in \ comparison with the derivative of the function. As the number of sample \ points increases, the secant slopes get closer to the derivative function. \n\ \n(Note: ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], " was written specially for this module and is not a built-in ", StyleBox["Mathematica", FontSlant->"Italic"], " command.)" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "The arguments of ", StyleBox["derivApprox[f_, x_, a_, b_, n_]", FontWeight->"Bold"], " are: ", StyleBox["f", FontWeight->"Bold"], ", the function you wish to analyze; ", StyleBox["x", FontWeight->"Bold"], ", the independent variable; ", StyleBox["a", FontWeight->"Bold"], ", the beginning of the domain interval; ", StyleBox["b", FontWeight->"Bold"], ", the end of the domain interval; and ", StyleBox["n", FontWeight->"Bold"], ", the number of evenly spaced sample points. The following example \ illustrates how ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], " works. All that you need to do is change the arguments." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(derivApprox[x*Sin[x], x, \(-2\)*Pi, 2*Pi, 12];\)\)], "Input", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["\<\ You Try It: On Differentiable and Non-Differentiable Functions\ \>", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Sections 1 and 4", "Text", FontWeight->"Bold"], Cell[TextData[{ "1. Change the value of ", StyleBox["n", FontWeight->"Bold"], " (the last argument of ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], ") and describe what you see. To do this systematically, you might want to \ repeatedly double the number of sample points. That is, let ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ StyleBox["n", FontWeight->"Bold", FontSlant->"Plain"], StyleBox["=", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["12", FontWeight->"Plain", FontSlant->"Plain"]}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["24", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["48", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain"], StyleBox["96", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain"], StyleBox[\(\(.\)\(\ \)\(.\)\(\ \)\(.\)\), FontWeight->"Plain", FontSlant->"Plain"]}], TraditionalForm]]], " ." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "2. Try ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], " on some differentiable functions that you pick. Be sure to use several \ sample sizes so that you can see how the secant slopes function converges on \ the derivative. Here is an example of a function that has a very interesting \ derivative. See if you can see what makes it special." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = E\^x\)], "Input"], Cell[BoxData[ \(\(Plot[f[x], {x, \(-2\), 2}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(derivApprox[f[x], x, \(-2\), 2, 4]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "3. Try ", StyleBox["derivApprox[ ] ", FontWeight->"Bold"], "on some functions that are not differentiable at one or more points. Here \ is an example." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = Which[x \[LessEqual] 2, 2 x, x > 2, 4 x - x\^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:>"h1", ButtonStyle->"Hyperlink"]], "Input", Evaluatable->False, CellTags->"h1b"], Cell[BoxData[ \(\(Plot[f[x], {x, 0, 4}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(derivApprox[f[x], x, 0, 4, 4]\)], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The ", StyleBox["derivApprox[ ]", FontWeight->"Bold"], " command gives us a formula for the derivative function that is printed \ above. Is it correct in this case? To answer this question you should \ consider what happens at ", Cell[BoxData[ \(TraditionalForm\`x = 2\)]], "." }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["Part II: Secant Slopes at Every Point", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Sections 1 and 4", "Text", FontWeight->"Bold"], Cell[TextData[{ "Another approach to approximating the slopes on the graph of a function is \ to take every value of ", StyleBox["x", FontSlant->"Italic"], " in the domain of the function ", Cell[BoxData[ \(TraditionalForm\`y = f(x)\)]], " and calculate the slope of the secant line between the two points ", Cell[BoxData[ \(TraditionalForm\`\((x, f(x))\)\)]], " and ", Cell[BoxData[ \(TraditionalForm\`\((x + h, \ f(x + h))\)\)]], " for a fixed nonzero value of ", StyleBox["h", FontSlant->"Italic"], ". This gives a new function of ", StyleBox["x", FontSlant->"Italic"], " and ", StyleBox["h", FontSlant->"Italic"], ", namely, the function of secant slopes for any ", StyleBox["x", FontSlant->"Italic"], " in the domain of ", StyleBox["f", FontSlant->"Italic"], ". We form this secant-slopes function in the next cell." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(msecant[x_, h_] := \(f[x + h] - f[x]\)\/h;\)\)], "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", Evaluatable->False, CellTags->"h2b"], Cell[TextData[{ "Now, we graph the secant slopes for a specified ", StyleBox["h", FontSlant->"Italic"], " value together with the derivative function. " }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = x*Sin[x]\)], "Input"], Cell[BoxData[ \(fprime[x_] = D[f[x], x]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[{ \(\(h = 1;\)\), "\[IndentingNewLine]", \(\(Plot[{msecant[x, h], fprime[x]}, {x, \(-2\)*Pi, 2*Pi}, AxesLabel \[Rule] {"\", \*"\"\<\!\(y\^\[Prime]\) & \!\(m\_sec\)\>\ \""}, PlotStyle \[Rule] {{RGBColor[1, 0, 0]}, {RGBColor[0, 0, 1]}}];\)\)}], "Input", PageWidth->PaperWidth], Cell[TextData[{ "The red curve gives the secant slope for each value of ", StyleBox["x", FontSlant->"Italic"], ", with ", Cell[BoxData[ \(TraditionalForm\`h = 1\)]], ", and the blue curve gives the value of the derivative, that is, the slope \ of the tangent to the graph of ", Cell[BoxData[ \(TraditionalForm\`f(x)\)]], " for each value of ", StyleBox["x", FontSlant->"Italic"], "." }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["\<\ You Try It: On Differentiable and Non-Differentiable Functions\ \>", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Sections 1 and 4", "Text", FontWeight->"Bold"], Cell[TextData[{ "1. See what happens to the two graphs in the preceding cell when you \ decrease the value of ", StyleBox["h", FontSlant->"Italic"], ". Also, try some negative values of ", StyleBox["h", FontSlant->"Italic"], ". To be systematic, you should repeatedly cut ", StyleBox["h", FontSlant->"Italic"], " in half. For example, you could use ", Cell[BoxData[ \(TraditionalForm\`h = \(-1\), \(-0.5\), \(-0.25\), \ \(-0.125\)\)]], " for negative values of ", StyleBox["h", FontSlant->"Italic"], ". Describe what you observe." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "2. Repeat the steps in Part II on some of differentiable functions that \ you pick. Be sure to decrease values of ", StyleBox["h", FontSlant->"Italic"], " so that you can see how the secant-slopes function, ", StyleBox["msecant[ ]", FontWeight->"Bold"], ", converges on the derivative function as ", StyleBox["h ", FontSlant->"Italic"], "approaches zero. Here is an example." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = Sin[x]\)], "Input"], Cell[BoxData[ \(fprime[x_] = D[f[x], x]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[{ \(\(h = 1;\)\), "\[IndentingNewLine]", \(\(Plot[{msecant[x, h], fprime[x]}, {x, 0, 2*Pi}, AxesLabel \[Rule] {"\", \*"\"\<\!\(y\^\[Prime]\) & \!\(m\_sec\)\>\ \""}, PlotStyle \[Rule] {{RGBColor[1, 0, 0]}, {RGBColor[0, 0, 1]}}];\)\)}], "Input", PageWidth->PaperWidth], Cell[TextData[{ "3. Repeat the above steps", StyleBox[" ", FontWeight->"Bold"], "on some functions that are not differentiable at one or more points. Here \ is an example." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = Which[x \[LessEqual] 2, 2 x, x > 2, 4 x - x\^2]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(\(Plot[f[x], {x, 0, 4}, AxesLabel \[Rule] {"\", "\"}];\)\)], "Input", PageWidth->PaperWidth], Cell[BoxData[ \(fprime[x_] = D[f[x], x]\)], "Input", PageWidth->PaperWidth], Cell[BoxData[{ \(\(h = 1;\)\), "\[IndentingNewLine]", \(\(Plot[{msecant[x, h], fprime[x]}, {x, \(-2\)*Pi, 2*Pi}, AxesLabel \[Rule] {"\", \*"\"\<\!\(y\^\[Prime]\) & \!\(m\_sec\)\>\ \""}, PlotStyle \[Rule] {{RGBColor[1, 0, 0], Thickness[0.010]}, {RGBColor[0, 0, 1]}}];\)\)}], "Input", PageWidth->PaperWidth], Cell[TextData[{ "Note that we make the ", StyleBox["msecant[ ]", FontWeight->"Bold"], " graph a little thicker so that it is not hidden behind the graph of the \ derivative function." }], "Text", PageWidth->PaperWidth], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], "'s derivative command, ", StyleBox["D[ ]", FontWeight->"Bold"], ",", StyleBox[" ", FontWeight->"Bold"], "gives us a formula for the derivative function above. Is it correct in \ this case? To answer this question, you should consider what happens at ", Cell[BoxData[ \(TraditionalForm\`x = 2\)]], "." }], "Text", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["Part III: Taking It to the Limit", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Section 1", "Text", FontWeight->"Bold"], Cell[TextData[{ "The slope of the tangent to the graph of ", Cell[BoxData[ \(TraditionalForm\`y = f(x)\)]], " for each value of ", StyleBox["x", FontSlant->"Italic"], " is given by ", Cell[BoxData[ \(TraditionalForm\`\(\(lim\)\(\ \)\)\+\(h \[Rule] 0\)\ \(f(x + h) - \ f(x)\)\/h\)]], " provided, of course, that the limit exists. This gives the derivative \ function ", Cell[BoxData[ \(TraditionalForm\`\(f\^\[Prime]\)(x)\)]], ". In the next group of cells, we use this definition to find the \ derivative function for a specific function, ", Cell[BoxData[ \(TraditionalForm\`y = f(x)\)]], "." }], "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(Clear[f, h, x];\)\)], "Input", PageWidth->PaperWidth], Cell["First, we pick a function.", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(f[x_] = \(\(a\ x\^2\)\(+\)\(b\ x\)\(+\)\(c\)\(\ \ \ \ \ \ \ \ \ \)\( \ (*\ a, \ b, \ and\ c\ are\ constants\ *) \)\)\)], "Input", PageWidth->PaperWidth], Cell["\<\ Next, we calculate the secant slopes, that is, the difference-quotient.\ \>", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(\(f[x + h] - f[x]\)\/h // Simplify\)], "Input", PageWidth->PaperWidth], Cell["And we take the limit to form the derivative function. ", "Text", PageWidth->PaperWidth], Cell[BoxData[ \(Limit[\(f[x + h] - f[x]\)\/h, h \[Rule] 0]\)], "Input", PageWidth->PaperWidth] }, Closed]], Cell[CellGroupData[{ Cell["You Try It: Finding Derivatives Using the Definition", "Section", PageWidth->PaperWidth], Cell["Chapter 2, Sections 1 and 4", "Text", FontWeight->"Bold"], Cell[TextData[{ "Repeat the steps in Part III to find the derivatives of several functions \ that you pick. Here are some suggestions.\n\n1. ", Cell[BoxData[ \(TraditionalForm\`f(x) = \@x\)]], "\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "2. ", Cell[BoxData[ \(TraditionalForm\`f(x) = 1\/x\^2\)]], "\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "3. ", Cell[BoxData[ \(TraditionalForm\`f(x) = sin\ x\)]], "\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "4. ", Cell[BoxData[ \(TraditionalForm\`f(x) = A\ sin\ \((a\ x)\)\ + B\ cos\ \((b\ x)\)\)]], " where ", StyleBox["A", FontSlant->"Italic"], ", ", StyleBox["a", FontSlant->"Italic"], ", ", StyleBox["B", FontSlant->"Italic"], ", and ", StyleBox["b", FontSlant->"Italic"], " are constants\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "5. ", Cell[BoxData[ \(TraditionalForm\`f(x) = tan\ x\)]], "\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "6. ", Cell[BoxData[ \(TraditionalForm\`f(x) = e\^x\)]], "\n" }], "Text", PageWidth->PaperWidth], Cell[TextData[{ "7. ", Cell[BoxData[ \(TraditionalForm\`f(x) = Ce\^\(a\ x\)\)]], " where ", StyleBox["C", FontSlant->"Italic"], " and ", StyleBox["a", FontSlant->"Italic"], " are constants" }], "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", CellDingbat->None], Cell[TextData[{ "The ", StyleBox["Which[ ] ", FontWeight->"Bold"], "command can be used to form piecewise defined functions, as illustrated in \ the preceding cell. To learn more about the ", StyleBox["Which[ ]", FontWeight->"Bold"], " command, pull down the Help menu, select the Help Browser, and type ", StyleBox["Which", FontWeight->"Bold"], ". ", ButtonBox["Go Back.", ButtonData:>"h1b", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h1"], Cell[TextData[{ "In the definition of ", StyleBox["msecant[ ]", FontWeight->"Bold"], ", we use the delayed assignment with the symbol ", Cell[BoxData[ FormBox[ StyleBox[":=", FontWeight->"Bold"], TraditionalForm]]], " (colon-equals). This is because we do not want the definition to store a \ secant slope definition for a specific ", StyleBox["f[x_]", FontWeight->"Bold"], "; rather, we want it to use the definition of ", StyleBox["f[x_]", FontWeight->"Bold"], " that is current when ", StyleBox["msecant[ ] ", FontWeight->"Bold"], "is called. To learn more about the delayed assignments, see the \"Overview \ of ", StyleBox["Mathematica", FontSlant->"Italic"], "\" module that is included with this set of modules or pull down the Help \ menu, select the Help Browser, and type ", Cell[BoxData[ FormBox[ StyleBox[":=", FontWeight->"Bold"], TraditionalForm]]], ". \n", ButtonBox["Go Back.", ButtonData:>"h2b", ButtonStyle->"Hyperlink"] }], "Text", PageWidth->PaperWidth, CellTags->"h2"] }, Closed]] }, Open ]] }, FrontEndVersion->"4.0 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, AutoGeneratedPackage->None, WindowToolbars->{}, WindowSize->{785, 438}, WindowMargins->{{2, Automatic}, {Automatic, 5}}, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic}, PrintingOptions->{"PrintingMargins"->{{54, 54}, {72, 72}}, "PrintCellBrackets"->False, "PrintRegistrationMarks"->False, "PrintMultipleHorizontalPages"->False}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False} ] (*********************************************************************** 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[15353, 433, 985, 30, 44, "Input", Evaluatable->False, CellTags->"h1b"]}, "h2b"->{ Cell[18153, 533, 985, 30, 44, "Input", Evaluatable->False, CellTags->"h2b"]}, "h1"->{ Cell[27423, 893, 509, 17, 71, "Text", CellTags->"h1"]}, "h2"->{ Cell[27935, 912, 1100, 35, 128, "Text", CellTags->"h2"]} } *) (*CellTagsIndex CellTagsIndex->{ {"h1b", 30101, 980}, {"h2b", 30206, 984}, {"h1", 30310, 988}, {"h2", 30386, 991} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 97, 1, 195, "Title"], Cell[1839, 54, 124, 3, 37, "Text"], Cell[1966, 59, 3863, 79, 19, "Input", CellOpen->False, InitializationCell->True], Cell[CellGroupData[{ Cell[5854, 142, 56, 1, 53, "Section"], Cell[5913, 145, 2948, 70, 527, "Text"], Cell[CellGroupData[{ Cell[8886, 219, 99, 2, 47, "Subsection"], Cell[8988, 223, 1415, 36, 299, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[10452, 265, 113, 3, 33, "Section"], Cell[10568, 270, 65, 1, 33, "Text"], Cell[10636, 273, 846, 21, 166, "Text"], Cell[11485, 296, 735, 25, 90, "Text"], Cell[12223, 323, 108, 2, 30, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[12368, 330, 114, 3, 33, "Section"], Cell[12485, 335, 65, 1, 33, "Text"], Cell[12553, 338, 1767, 57, 71, "Text"], Cell[14323, 397, 409, 9, 71, "Text"], Cell[14735, 408, 45, 1, 30, "Input"], Cell[14783, 411, 136, 3, 30, "Input"], Cell[14922, 416, 92, 2, 30, "Input"], Cell[15017, 420, 215, 7, 52, "Text"], Cell[15235, 429, 115, 2, 31, "Input"], Cell[15353, 433, 985, 30, 44, "Input", Evaluatable->False, CellTags->"h1b"], Cell[16341, 465, 131, 3, 30, "Input"], Cell[16475, 470, 87, 2, 30, "Input"], Cell[16565, 474, 351, 11, 52, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[16953, 490, 81, 1, 33, "Section"], Cell[17037, 493, 65, 1, 33, "Text"], Cell[17105, 496, 938, 31, 109, "Text"], Cell[18046, 529, 104, 2, 42, "Input"], Cell[18153, 533, 985, 30, 44, "Input", Evaluatable->False, CellTags->"h2b"], Cell[19141, 565, 199, 6, 33, "Text"], Cell[19343, 573, 49, 1, 30, "Input"], Cell[19395, 576, 81, 2, 30, "Input"], Cell[19479, 580, 328, 6, 90, "Input"], Cell[19810, 588, 458, 16, 52, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[20305, 609, 114, 3, 33, "Section"], Cell[20422, 614, 65, 1, 33, "Text"], Cell[20490, 617, 611, 19, 90, "Text"], Cell[21104, 638, 455, 13, 71, "Text"], Cell[21562, 653, 47, 1, 30, "Input"], Cell[21612, 656, 81, 2, 30, "Input"], Cell[21696, 660, 320, 6, 90, "Input"], Cell[22019, 668, 219, 7, 52, "Text"], Cell[22241, 677, 115, 2, 31, "Input"], Cell[22359, 681, 131, 3, 30, "Input"], Cell[22493, 686, 81, 2, 30, "Input"], Cell[22577, 690, 344, 6, 110, "Input"], Cell[22924, 698, 230, 7, 52, "Text"], Cell[23157, 707, 434, 15, 52, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[23628, 727, 76, 1, 33, "Section"], Cell[23707, 730, 58, 1, 33, "Text"], Cell[23768, 733, 679, 21, 77, "Text"], Cell[24450, 756, 77, 2, 30, "Input"], Cell[24530, 760, 67, 1, 33, "Text"], Cell[24600, 763, 174, 3, 30, "Input"], Cell[24777, 768, 120, 3, 33, "Text"], Cell[24900, 773, 92, 2, 42, "Input"], Cell[24995, 777, 96, 1, 33, "Text"], Cell[25094, 780, 100, 2, 42, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[25231, 787, 96, 1, 33, "Section"], Cell[25330, 790, 65, 1, 33, "Text"], Cell[25398, 793, 246, 7, 109, "Text"], Cell[25647, 802, 129, 6, 55, "Text"], Cell[25779, 810, 128, 6, 52, "Text"], Cell[25910, 818, 397, 19, 52, "Text"], Cell[26310, 839, 128, 6, 52, "Text"], Cell[26441, 847, 126, 6, 52, "Text"], Cell[26570, 855, 255, 12, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[26862, 872, 558, 19, 33, "Section"], Cell[27423, 893, 509, 17, 71, "Text", CellTags->"h1"], Cell[27935, 912, 1100, 35, 128, "Text", CellTags->"h2"] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)