Mathematica

profilemadelinemiles
CubicSplinesInterpolation1.nb

(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 9.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 188435, 4244] NotebookOptionsPosition[ 179153, 4016] NotebookOutlinePosition[ 179962, 4043] CellTagsIndexPosition[ 179919, 4040] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[TextData[{ StyleBox["Mathematica Subroutine (", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.996109]], StyleBox["Natural Cubic Spline", FontFamily->"Times New Roman", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.996109]], StyleBox[").", FontWeight->"Bold", FontColor->RGBColor[0.500008, 0, 0.996109]] }], "Text", CellChangeTimes->{3.5892088458196516`*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"NaturalSpline", "[", "XY0_", "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"XY", "=", "XY0"}], "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Differencess", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "k", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"n", " ", "=", " ", RowBox[{ RowBox[{"Length", "[", "XY", "]"}], "-", "1"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"X", " ", "=", " ", SubscriptBox[ RowBox[{"Transpose", "[", "XY", "]"}], RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"Y", " ", "=", " ", SubscriptBox[ RowBox[{"Transpose", "[", "XY", "]"}], RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"h", "=", RowBox[{"d", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "n", "}"}]}], "]"}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"m", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"n", "+", "1"}], "}"}]}], "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"a", "=", RowBox[{"b", "=", RowBox[{"c", "=", RowBox[{"v", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"n", "-", "1"}], "}"}]}], "]"}]}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"s", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "n", "}"}], ",", RowBox[{"{", "4", "}"}]}], "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["h", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["d", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "2"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["Y", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["a", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{"2", " ", RowBox[{"(", RowBox[{ SubscriptBox["h", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "+", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ")"}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["c", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{"6", " ", RowBox[{"(", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["d", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}], ")"}]}]}]}]}], "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{"TriDiagonal", ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"k", ",", "t"}], "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", "0"}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", "0"}], ";", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "2"}], ",", " ", RowBox[{"k", "\[LessEqual]", RowBox[{"n", "-", "1"}]}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"t", " ", "=", " ", FractionBox[ SubscriptBox["a", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{"t", " ", SubscriptBox["c", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{"t", " ", SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}]}]}], ";"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", RowBox[{"n", "-", "2"}]}], ",", " ", RowBox[{"1", "\[LessEqual]", "k"}], ",", " ", RowBox[{"k", "--"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{ SubscriptBox["c", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "2"}], "\[RightDoubleBracket]"}]]}]}], SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]]}], ";"}]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{"ComputeCoeff", ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "k", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "2"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{ FractionBox["1", "6"], " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], "+", SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]]}], ")"}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "3"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], "2"]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "4"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], RowBox[{"6", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]]}], ";"}]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{ RowBox[{"CS", "[", "t_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "j", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", " ", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", "n"}], ",", " ", RowBox[{"j", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}]], "\[LessEqual]", "t"}], " ", "&&", " ", RowBox[{"t", "<", SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"j", "+", "1"}], "\[RightDoubleBracket]"}]]}]}], ",", RowBox[{"k", "=", "j"}]}], " ", "]"}], ";"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"t", "<", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ",", RowBox[{"k", "=", "1"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "+", "1"}], "\[RightDoubleBracket]"}]], "\[LessEqual]", "t"}], ",", RowBox[{"k", "=", "n"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"w", " ", "=", " ", RowBox[{"t", " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"Return", "[", " ", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "4"}], "\[RightDoubleBracket]"}]], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "3"}], "\[RightDoubleBracket]"}]]}], ")"}], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "2"}], "\[RightDoubleBracket]"}]]}], ")"}], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";"}], " ", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", RowBox[{ "The", " ", "main", " ", "part", " ", "of", " ", "the", " ", "program", " ", "starts", " ", "here"}], "*)"}], FontColor->RGBColor[1, 0, 0]], StyleBox[";", FontColor->RGBColor[1, 0, 0]], " ", "\[IndentingNewLine]", "Differencess", ";", " ", "\[IndentingNewLine]", "TriDiagonal", ";", " ", "\[IndentingNewLine]", "ComputeCoeff", ";"}]}], " ", "]"}]}], ";"}], " "}]], "Input", CellChangeTimes->{{3.58920792520947*^9, 3.5892079433118334`*^9}, { 3.5892079752924733`*^9, 3.589207981942606*^9}}, AspectRatioFixed-> False,ExpressionUUID->"6f440b21-da19-4709-a408-54171458ecd4"], Cell[TextData[{ StyleBox["Example 1.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], " Construct the natural cubic spline for the points ", Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"3", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"4", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"5", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"6", ",", "1"}], ")"}]}]],ExpressionUUID-> "b1660216-655d-42e6-bebc-88ee3be50575"], " . (The endpoint constraints ", Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"S", "''"}], RowBox[{"(", "0", ")"}]}], "=", RowBox[{ RowBox[{"0", " ", StyleBox["and", FontFamily->"Times New Roman"], " ", RowBox[{"S", "''"}], RowBox[{"(", "6", ")"}]}], " ", "=", " ", "0"}]}]],ExpressionUUID-> "0567fba6-3896-4e91-8514-e6f18d7355b5"], ". )" }], "Text", Evaluatable->False, CellChangeTimes->{{3.7467270477784443`*^9, 3.746727062839882*^9}}, AspectRatioFixed-> True,ExpressionUUID->"4c811d63-3064-4b27-bdce-638b3da8ac06"], Cell[CellGroupData[{ Cell[TextData[StyleBox["Solution 1.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]]], "Text",ExpressionUUID->"37b1b98f-7d85-4272-\ bcdd-3463128f7f95"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"XY", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"1.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"2.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"3.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"4.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"5.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"6.", ",", "1."}], "}"}]}], "}"}]}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"NaturalSpline", "[", "XY", "]"}], ";"}], " ", "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"dots", "=", RowBox[{"ListPlot", "[", RowBox[{"XY", ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"PointSize", "[", "0.02", "]"}]}], "}"}]}]}], "]"}]}], ";"}], " "}], "\n", RowBox[{ RowBox[{ RowBox[{"grNatural", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"CS", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "0", ",", "6"}], "}"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", "Magenta", "}"}]}]}], "]"}]}], ";"}], " "}], "\n", RowBox[{ RowBox[{"Show", "[", RowBox[{"grNatural", ",", "dots", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<x\>\"", ",", "\"\<y \>\""}], "}"}]}]}], "]"}], " "}], "\n", RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<data points = \>\"", ",", "XY"}], "]"}], ";"}], " "}]}], "Input", CellChangeTimes->{{3.589207845767881*^9, 3.589207867168309*^9}, { 3.5892092271782894`*^9, 3.589209234488363*^9}, {3.589545393624829*^9, 3.589545401427609*^9}, {3.746524565094081*^9, 3.746524565734822*^9}},ExpressionUUID->"f61706f3-badb-45c9-ac88-\ a317efaa9eeb"], Cell[BoxData[ GraphicsBox[{{{{}, {}, TagBox[ {RGBColor[1, 0, 1], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1: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 "]]}, Annotation[#, "Charting`Private`Tag$7079#1"]& ]}, {}, {}}, {{}, {{}, {RGBColor[1, 0, 0], PointSize[0.02], AbsoluteThickness[1.6], PointBox[{{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, { 6., 1.}}]}, {}}, {}, {}, {{}, {}}, {{}, {}}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{ FormBox["\"x\"", TraditionalForm], FormBox["\"y \"", TraditionalForm]}, AxesOrigin->{0, 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{0, 6}, {-0.1499998667303279, 2.149999845941364}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.589207877578517*^9, 3.5892079603621745`*^9, 3.589207993362835*^9, 3.589209240828426*^9, 3.5895454155750237`*^9, 3.746524718632976*^9, 3.7467270736600304`*^9, 3.7467304066000004`*^9},ExpressionUUID->"d3d8929d-0a35-4b7f-8232-\ 1bd1fbe3f607"], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"data points = \"\>", "\[InvisibleSpace]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"3.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"4.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"6.`", ",", "1.`"}], "}"}]}], "}"}]}], SequenceForm[ "data points = ", {{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, {6., 1.}}], Editable->False]], "Print", CellChangeTimes->{3.5892078775985174`*^9, 3.5892079603721747`*^9, 3.589207993362835*^9, 3.589209240838426*^9, 3.589545415621028*^9, 3.7465247186486025`*^9, 3.746727073670042*^9, 3.7467304066094294`*^9},ExpressionUUID->"df12f23a-d393-4e12-9ee7-\ 874a3e07f180"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "Below", " ", "the", " ", "LAST", " ", "segment", " ", "of", " ", "the", " ", "spline", " ", "is", " ", "printed", " ", "and", " ", "plotted"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.7465245879538484`*^9, 3.7465246943562407`*^9}, { 3.7465247353852243`*^9, 3.7465247413676605`*^9}, {3.746730318328285*^9, 3.746730346601475*^9}, {3.7467304552898035`*^9, 3.7467304595882444`*^9}},ExpressionUUID->"6bd97704-70d3-4aed-8a15-\ 2e5c45786264"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<Spline y = \>\"", ",", RowBox[{"CS", "[", "x", "]"}]}], "]"}], ";"}], " "}]], "Input",Expressio\ nUUID->"7bf6ad64-e25a-434e-89c8-438fae5f19a8"], Cell[BoxData[ InterpretationBox[ RowBox[{ RowBox[{"\<\"Spline y = \"\>", "\[InvisibleSpace]", "2.`"}], "\[VeryThinSpace]", "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.6000000000000001`"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.5999999999999999`"}], "+", RowBox[{"0.19999999999999996`", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], SequenceForm[ "Spline y = ", 2. + (-0.6000000000000001 + (-0.5999999999999999 + 0.19999999999999996` (-5. + $CellContext`x)) (-5. + $CellContext`x)) \ (-5. + $CellContext`x)], Editable->False]], "Print", CellChangeTimes->{3.7465247262902822`*^9, 3.746727116538232*^9, 3.746730412346168*^9},ExpressionUUID->"0e70c81a-4316-4a2f-b44f-\ 356ecad6be79"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"CS", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "5", ",", "6"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.7467302317424717`*^9, 3.7467302797112417`*^9}, { 3.7467303614784436`*^9, 3.7467303639784265`*^9}, {3.7467304290304146`*^9, 3.7467304326677094`*^9}},ExpressionUUID->"83710af8-656e-4f7f-8080-\ 00050daafa45"], Cell[BoxData[ GraphicsBox[{{{}, {}, TagBox[ {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ 1.], LineBox[CompressedData[" 1:eJwVy3tUjHkcBvBJTbcRLe+8b9q1mWV10f2C5PT96mZFHcNuHEZRa0tpbW0k ajZKFCej7MklhIRQttt2USL2tEouW7tRltluW4pfzUy3ubz77h/Pec7nnOcR he/ZsHMGj8cL4vJ/m+WH6vF4FCZlVmlYloWoxpTI9ZwDk/dPenN+1Jv/tIDz kBHpSNGxkOzQdXaVHoUVsSZL1RoWhhs2uabNoFDf3Oa4coqFVvn6CEM+hRan bY/LFSxkWfs+nmlKYVFD71jhAAvG5daZ8ygKHR8k9L9oY6HMJ0zeY0thTe5a +6g8FrT6NdkrvSncKz48eG8HC741V2c7baAwyOUXmy1LWFg+oNn+MpLCMM1V YcwHHbQF7DcySKZwvsxV/LhcB3OtwqX9pyikZZU+4ngdbHzf3Rx+ncKDf0tW OznrwH0wKSq2jkLebS/7N0QLj8KOdNq8oLBQ+HvfvmItqIzKL8T3UXgn7kLX 4kgtiArjloZMURhRXVRbuVALmuqLl4ZmCdG6e+UcRacGktiRbWYLhVhqLXJr OKWBwoZbw++WC1FGn67m+2rgSdx0cHCwEKcki1K9lGrICYkxDAwX4ojY/UPc TTUYVwRmjycK0UkuyB4LUcMC33UxLieEaHd5ptVdYzX0B96zmH9FiO0b2ptO lk3DjYD6s1d+FeKuf952V0imQZDwbk9VixD73ixNkAqmYb5lPH1QLsQv9CwS /Mqm4Pnol3PaVELsOv9TWt+2KZDWR8trTWgspgtWe5pOQZfe54c2W9HYqOs5 GlMyCa8SFXvT3WjMMTK0eblpEjK+W+a1Yw2Ngrw0Pjs5AY5rZrb/FUpjYK9E M3FuAhK36T/sjqexzLDZOclnAvYMRaXmHKOx6JprQYl8HIxvktw/82m0K734 7EzGOORvNTlYcZdGdHDyumE/Dm8zZK6+v9Goxxyx2PFEBU09nrD9NY1zIwyG qO9VEFIj/syR0LjJwfT2LhMVZDUeD84yYLDklLnbu2Il1NSFfJ1qwSD9are0 NkgJeU4yO2tHBu1WPLNd9q8C6I7330h8GEz1j3hgnqkAP0Wl2Gczg5G8197Z IgXE8j8RPYzl/qadQzl1Y7BsTbb/80MMDrb07LWVjMFd/oEVJ/MYjC3QsnHK UXiiOJrefYvBeNsqh125o/C2Y/GVpvsMYt0sF5H7KFx1dpdt7WBwf3V846VW Asb1EX8cGmSQtypLXxVDoLDcvLWL8yx7JfpHE8Di+kceQwzeNjuR8nMUgcQ8 pmqQc4bpRqXHTgL9cS1nxMMMLvI737kvlEDTYrdQ0UcGF6ax0sn1BKSyGYON SgbzZLFb1B4ELI+Wyi1VDDYPC9LXuhOoTJG8TuCs/uBz57wrgeHoqhabcQa/ 8jqm83IisNU/ukQ2waBJ0NP8ZBsCy6df/Lh9msEAkX2L1pJAO5HuruXs97H3 Y9A8Aj8MLNlJqRmcro2hLjIErrcfCWnmnHyZSLwpAnSpp6ezltsbeAxLzQiU Xet3yeJ8YF7d7GcCAkH5uXa9nAM6bd2sTAmkZ458ekbH4OEbbUn3DQksSD1H jXEe+FZwYTafwL19q83WsQy2LvBuDNMnsDlWyS/iXOIS3VOqR0ARcVnHchaM 5BjyeAT+A3PlQbg= "]]}, Annotation[#, "Charting`Private`Tag$7612#1"]& ]}, {}, {}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{5., 1.0000000244897957`}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{5, 6}, {1.0000000244897957`, 1.9999999877551018`}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{{3.7467302627035136`*^9, 3.7467302834688263`*^9}, 3.746730365398427*^9, {3.7467304145491533`*^9, 3.746730433881035*^9}},ExpressionUUID->"5a7387ef-f585-4351-aae5-\ 7b1e36960117"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "Try", " ", "to", " ", "plot", " ", "the", " ", "expression", " ", "printed", " ", "above", " ", "on", " ", "another", " ", "interval"}], ";", " ", RowBox[{"the", " ", "result", " ", "is", " ", "clearly", " ", "wrong"}]}], " ", "*)"}]], "Input", CellChangeTimes->{{3.746730500961296*^9, 3.746730537093587*^9}, { 3.7467306479339576`*^9, 3.7467306602936654`*^9}},ExpressionUUID->"4052c0c0-929d-4334-9427-\ 82ae1ddb5dc8"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"2.`", "\[VeryThinSpace]", "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.6000000000000001`"}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.5999999999999999`"}], "+", RowBox[{"0.19999999999999996`", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"x", ",", "2", ",", "3"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.7467302317424717`*^9, 3.7467302797112417`*^9}, { 3.7467303614784436`*^9, 3.7467303639784265`*^9}, {3.7467304290304146`*^9, 3.7467304326677094`*^9}, {3.7467305489166007`*^9, 3.746730552179266*^9}, { 3.746730665925385*^9, 3.746730668103799*^9}},ExpressionUUID->"36b59891-9f09-4e53-b4d2-\ 4fde7f928779"], Cell[BoxData[ GraphicsBox[{{{}, {}, TagBox[ {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ 1.], LineBox[CompressedData[" 1:eJwVzns0lHkYB/B35p2Z120yjJhMN6stW6otWmzFk5I0Ybtha0il2GbioKuG VBNWudShpqVSVEqOcY5C0u+X1LSOpgtmUS2WKTOmVCbkNjv98Zzv+ZzvOd/z OOyI2bCLThCEv/G+p7177feAuV1JeoOBj18ljyoLjBYLmm4Kx/k4/W+PvBU0 Aq6r4xOrR/h4ZMtdlxN0Alh+54/Gf+XjtsSyCBaTgDWzgvp7tXwse3TliYUZ AfkDCyRtLXw8OTAlfYoNARJnR9+XJXzM2R1o7eJEAOeBIpkfwscRJx/UKTYS IPVqLXMvsscjVNy0wxICVHBY4TkxBafG+c4IKzLuizvWbg+dgmOV3x4WPTd6 hmjLFzkPX8r4NMlkmID0qK2hA1Y87ORZP9boSINUVdmW+5F2uFhVfeZxAA0u l99eWlNni0WvBl60H6BBTEOXnXyuLT6FzMrXX6WB70dbx7bUyfij5e6l6gYa dIbuy6z+bIN913SLb3+hwS+at5c3hNvgidjlXi3T6JB9xfFOaj0XD028rrFf TQdBpdNqYgkXByQGtz2MpUO1KGTqnjxrnNetv5ifTwfSrzS9iGWN55aqLHLq 6bA8TX2jNNEK20XlTv3QT4eO3ECuZR8Hr06RqXbwSHBfRbmRERzclHto0a+r SODdqzrmc8MSB2UkuPjEkOD6JEN3J2sS5vfiDvF5Ev6rGbOIzGRjT9ce58E6 EixG3p9zO2KBC7sFs/L7SAiYTQtrSjTHhoSWuv1cBkjxXsmdNDNcRS6jl3sy gJXl5XPwuCmu6H/XZxLJgKgXHRvnnTHB7GfRB+rOMkAV5aQWZlFYeJZXXFbL gNvRRfWGXBb+eI8lrVYzYPF+zol7ciZ+2/yS+NGKCQ1vzNnlNQxsuaFrTqkH E4r2LvYJbCexW6X1YNR2JpgNsbcmESSuZTvsSjnNBGV0l+iyHR2fVMQn4Qom YEuG54UVNFwSV+gu7GRCb/a1fPtQAnOP2V20MWVBzn3BN7atAcUeLC0mFrGA niE44508juZvm7k5QGjsB35j9SpH0bxb/5RUSVkQ0iif/hxGUOo7UaFUzgJn VUKyn2wYtZn94C19zYKCh6eaRBODKPrs1FMFJAUSnq+/R8pXFG6u3zd9IQUh ec9nDekHUO57S9PqYAr0b7QLs6RfEC7xX5V6lIIH6tlO8x0+ozXbo2ZW3qIg 3KvRz3pdP+ImKK6TTRSIO7PNk3J0aG2kg6zS6Iqg5ZsOpOnQ8U1H/hQ1UzDc 6H48RqJDnxYsFDe1UPCGTc+MiNAhZfe5RYWtFMB8x4jfXXUozX/3fe9/KXAW NDCim/vQ2Ezmq2MaCnjehl7vyX3IZdK2R0u0xv8TCpTBpn1oz2hVhcZok001 sr3jWtTWIj6/XkdBvufK9jy1Ft1NbxY69Bv3vLqsyLtaFKsvfI/1FCzbnOw/ FqRFxV3jrfu+UuAqyTs4Q6BFncrgBqdBCppzHp9c6aVFATfNS7OHKBD2zwvI nKNFzmHxceEjFBw6l5K5YFiDdgqe7bQZpYAjC2sN0WnQX+5zNj81Wu7CYUk7 NciU+9rt53EKek6rLd4+1SAglvzUY7RcP6o2q9WgQx8y7WUTFJxe+/KqR7kG lbX3mq8zUCDrDlv5xzUNeqfwHjcY3WNzSXHhggb9D/NpRZQ= "]]}, Annotation[#, "Charting`Private`Tag$7868#1"]& ]}, {}, {}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{2., -6.999999828571427}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{2, 3}, {-6.999999828571427, -0.8000000857142848}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7467305530139832`*^9, 3.746730669562743*^9},ExpressionUUID->"3761c738-37a7-4551-a2a0-\ 64b4252dbf9b"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "But", " ", "the", " ", "spline", " ", "can", " ", "be", " ", "correctly", " ", "evaluated", " ", "at", " ", "any", " ", "point", " ", "using", " ", "call", " ", "to", " ", "CS"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.7467276829023705`*^9, 3.7467276942141733`*^9}, { 3.746730727680106*^9, 3.7467307351139836`*^9}, {3.746731173824271*^9, 3.746731181105426*^9}},ExpressionUUID->"be243796-c8ed-4d69-a9b7-\ fee669d3d8b9"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "0.5", "]"}]], "Input", CellChangeTimes->{{3.7467277739687834`*^9, 3.74672777492523*^9}},ExpressionUUID->"6065a784-a152-4db8-b11f-\ d100536a07b0"], Cell[BoxData["0.42500000000000004`"], "Output", CellChangeTimes->{3.746727775715029*^9, 3.746730738069946*^9},ExpressionUUID->"edc7183b-94ac-4255-bfd2-\ 2bb8c8dda71d"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "1.0", "]"}]], "Input", CellChangeTimes->{{3.7467277959406433`*^9, 3.746727825147338*^9}},ExpressionUUID->"b123197c-486e-4fdd-86a4-\ 58293b4d017d"], Cell[BoxData["0.`"], "Output", CellChangeTimes->{{3.7467277988235903`*^9, 3.7467278256962442`*^9}, 3.7467307392864637`*^9},ExpressionUUID->"b6556ef4-ce31-4059-a301-\ 2a111437aa27"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "2.5", "]"}]], "Input", CellChangeTimes->{{3.7467278275935555`*^9, 3.746727836570369*^9}},ExpressionUUID->"42d5c7ce-840e-45b2-bb99-\ bd65887833df"], Cell[BoxData["0.42500000000000004`"], "Output", CellChangeTimes->{3.7467278374857426`*^9, 3.7467307406364985`*^9},ExpressionUUID->"b625c356-9244-4eef-9f07-\ bfc4a93ceeb6"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{ "The", " ", "coefficients", " ", "a", " ", "through", " ", "d", " ", "of", " ", "each", " ", "spline", " ", "are", " ", "in", " ", "rows", " ", "1"}], "-", "6"}], ";", " ", RowBox[{ RowBox[{ "notice", " ", "that", " ", "the", " ", "1", "st", " ", "entry", " ", "in", " ", "each", " ", "row", " ", "is", " ", "the", " ", "y"}], "-", RowBox[{"coordinate", " ", "of", " ", "a", " ", "point"}]}]}], " ", "*)"}]], "Input", CellChangeTimes->{{3.746524765105195*^9, 3.7465247975735893`*^9}, { 3.7465248382947617`*^9, 3.7465249247818108`*^9}, {3.7467274842799425`*^9, 3.7467274865486517`*^9}},ExpressionUUID->"81949c87-f48a-4385-b683-\ c339e6006355"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"Print", "[", "\"\<The spline coefficients are\>\"", "]"}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"Chop", "[", "s", "]"}], "]"}], " "}]}], "Input",ExpressionUUID->\ "537aede4-8789-482e-9e47-b2a309a97c1f"], Cell[BoxData["\<\"The spline coefficients are\"\>"], "Print", CellChangeTimes->{3.5892080116632004`*^9, 3.7465247488374166`*^9},ExpressionUUID->"605adbc2-862b-4a21-af06-\ a6d08f3ce2d2"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1.`", RowBox[{"-", "1.2`"}], "0", "0.19999999999999998`"}, {"0", RowBox[{"-", "0.5999999999999999`"}], "0.6`", "0"}, {"0", "0.6000000000000001`", "0.6`", RowBox[{"-", "0.19999999999999996`"}]}, {"1.`", "1.2`", "0", RowBox[{"-", "0.2000000000000001`"}]}, {"2.`", "0.6000000000000001`", RowBox[{"-", "0.6000000000000002`"}], "0"}, {"2.`", RowBox[{"-", "0.6000000000000001`"}], RowBox[{"-", "0.5999999999999999`"}], "0.19999999999999996`"} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.589208011683201*^9, 3.7465247488374166`*^9},ExpressionUUID->"1e0e9d8e-44b4-4aa1-96e6-\ 29f0d46460ac"] }, Open ]] }, Open ]], Cell[TextData[{ StyleBox["Example 2.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], " Construct the natural cubic spline for the points ", Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"3", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"4", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"5", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"6", ",", "1"}], ")"}]}]],ExpressionUUID-> "b5dc037b-254b-4d19-8fb2-125d6a25cab4"], ". (The endpoint constraints ", Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"S", "''"}], RowBox[{"(", "0", ")"}]}], "=", RowBox[{ RowBox[{"0", " ", StyleBox["and", FontFamily->"Times New Roman"], " ", RowBox[{"S", "''"}], RowBox[{"(", "6", ")"}]}], " ", "=", " ", "0"}]}]],ExpressionUUID-> "4c2a9feb-6c25-486d-87f6-64e69c8201cd"], ". )\nUse ", StyleBox["Mathematica", FontSlant->"Italic"], "'s procedure ", StyleBox["Interpolation", FontWeight->"Bold"], " with the option Method = Spline" }], "Text", Evaluatable->False, CellChangeTimes->{{3.58920973666022*^9, 3.5892097739191337`*^9}, { 3.7467272913103075`*^9, 3.7467273023973513`*^9}}, AspectRatioFixed-> True,ExpressionUUID->"7b4f967e-8f16-4435-9b38-9343f7f0c88b"], Cell[CellGroupData[{ Cell[TextData[StyleBox["Solution 2.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]]], "Text",ExpressionUUID->"2d543bea-981d-46be-\ ac7a-27689148f787"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"XY", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"1.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"2.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"3.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"4.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"5.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"6.", ",", "1."}], "}"}]}], "}"}]}], ";"}], " ", "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"spline", "=", RowBox[{"Interpolation", "[", RowBox[{"XY", ",", RowBox[{"Method", "\[Rule]", "\"\<Spline\>\""}], ",", RowBox[{"InterpolationOrder", "\[Rule]", "3"}]}], "]"}]}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{"grMathematica", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"spline", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "0", ",", "6"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"PlotStyle", "\[Rule]", "Blue"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Show", "[", RowBox[{"grMathematica", ",", "dots", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<x\>\"", ",", "\"\<y \>\""}], "}"}]}]}], "]"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<Spline y = \>\"", ",", RowBox[{"spline", "[", "x", "]"}]}], "]"}], ";"}], " "}], "\n", RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<data points = \>\"", ",", "XY"}], "]"}], ";"}], " ", " "}]}], "Input", CellChangeTimes->{{3.589208421734814*^9, 3.5892084696155906`*^9}, { 3.589208520919078*^9, 3.5892085456688304`*^9}, {3.58920857970849*^9, 3.5892085931483555`*^9}, {3.5892091974779925`*^9, 3.589209205088069*^9}, 3.5892093543577795`*^9, {3.589545457291195*^9, 3.5895454667891445`*^9}, { 3.746728625476673*^9, 3.7467286278613243`*^9}},ExpressionUUID->"cc813928-f303-4d52-9ee8-\ a15f02cf71ae"], Cell[BoxData[ GraphicsBox[{{{{}, {}, TagBox[ {RGBColor[0, 0, 1], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1:eJwV1nk8VG8XAPA7WiyFmbFMliRJIlGhVDonW6VNKdtPRJRKSLZKJUtJREQq LaQQLZZIymO0EKKkkrIkZUt2M9Z57/vXfL6fuffZznPOPfOdPXe6ClEU9ZJB Uf//5W/2uGnhGbSuILIpRSDohXMui9Rr1Byg3S1uSVpXL7z/13YoSs0DvK/e FNv1uRf6co0j3dVOw187sbKXD3ohWHZQ0V7tElSde2LzcXcvVJaZ/7ZUuwXc qvPXR7P+gecdv3fb1R6B9B/VY7sce4AbGVm0Va0YPgxob3Ou64IZM72FOw/V gLl21fGrN3/DpjNOYU+tvsINTjF7UvknFBx3bbz3sQlurDm7um9FA3yzO6zt 7f8Lpjo/3rphWQusDVH7udgOFxSdl0/cLgOTjBeguaMdxN42p6gdLoOAWX/n xDu1g1DLEX8v/TJoqTGvdAtuh4yVDAfn92/hiY2IDvN1O1zV77lGJt6AxaGQ UYcNHSAWoHxln9NriIk6HjmxtRO+LFet8jTiArPONWflf91gm2a8SvZdPmDP +q5dh7vhlfVpp2lH88FrppKK98luuJsbq6Itlw8fV325nHWjGzom+ZFGh55C 7E2zo/N/dENbVXS7rWQeyBxYpDNrz19o+xrWsMM1G+THOh42OfTA6YB53+Bs OixQds8Ic+6FpLM/NgzmhkFk0/zkqKO9sOpyls7WayEwkvQ1MT6oFwIiNBkH g85CuZxx+L1bvfBM6Z9dddoJcJeSP/CmoReYH9SnS6AL/DfNJTZ4cR/YzHQa 1zDzI/dGWBalyX2wMf26RZR8PGn4/HezWUYfqB+LOX5pVgKReFq2oeIJ/bxv 5p7M8QQScOwU1JI+eP1Up2flt0Ri3textLWxD+asjTe6diGJ/Osk4kLy/dAf 8bUspzmZrGo8Urk+th8yv+id0iPp5NFibxm36/2wIy3ym9nyDKLq5+d4KaUf ri50Ef+QmkGYkmcGG3L6QaH/b8Gm8AekE2MUfD71w1etqnX1G7PI9dScw/el B2Bu9JCZ5ZPHZOIwb9asqwMg9ML4yMLZucT72fjuZbcH4NBgkY6CYS7pmE7d sU4bgKxrlh8rj+SSupsiuqkFA/BdRjx8T3UueVgjZ29YPwD1jB9N6yPziMOK tVmecoNQYRFSOXP8KeGOBW2puzEIAvE3R8xSn5E6Oe8Rz7uD0F305fePd8/I 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 "]]}, Annotation[#, "Charting`Private`Tag$6070#1"]& ]}, {}, {}}, {{}, {{}, {RGBColor[1, 0, 0], PointSize[0.02], AbsoluteThickness[1.6], PointBox[{{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, { 6., 1.}}]}, {}}, {}, {}, {{}, {}}, {{}, {}}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{ FormBox["\"x\"", TraditionalForm], FormBox["\"y \"", TraditionalForm]}, AxesOrigin->{0, 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{All, All}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.589209365457909*^9, 3.589545473625828*^9, 3.746524982236726*^9, 3.7467274981289177`*^9, 3.746728649235383*^9},ExpressionUUID->"299de056-ff08-4ed9-9a56-\ da25d795ee7b"], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"Spline y = \"\>", "\[InvisibleSpace]", RowBox[{ TagBox[ TemplateBox[{RowBox[{ StyleBox[ TagBox["InterpolatingFunction", "SummaryHead"], "NonInterpretableSummary"], StyleBox["[", "NonInterpretableSummary"], DynamicModuleBox[{Typeset`open$$ = False}, PanelBox[ PaneSelectorBox[{False -> GridBox[{{ PaneBox[ ButtonBox[ DynamicBox[ FEPrivate`FrontEndResource[ "FEBitmaps", "SquarePlusIconMedium"]], ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, Evaluator -> Automatic, Method -> "Preemptive"], Alignment -> {Center, Center}, ImageSize -> Dynamic[{ Automatic, 3.5 CurrentValue["FontCapHeight"]/ AbsoluteCurrentValue[Magnification]}]], GraphicsBox[{{ GrayLevel[0.6], AbsolutePointSize[5], PointBox[{1, 1}], PointBox[{2, 4}], PointBox[{3, 2}], PointBox[{4, 3}]}, {{}, {}, { AbsoluteThickness[1], Opacity[1.], LineBox[CompressedData[" 1:eJwBMQPO/CFib1JlAgAAADIAAAACAAAA4ScLwZmZ6T/ACPskWpOYv4AjHgZ5 3Os/cnpQh5xu1j/qWn1XCVDuP5K7ih5ptuc/r+pongFN8D/CUK87BHLxP46d cUQ/bPE/ujUa8/qu9j9TbqBw1aPyP/TWyyAhFfw/neDJZqDG8z+QAqdF9GsA QM1wGePDAfU/VsVD/9nXAkCidscSKDf2P6Bp73exDQVA/B1wDMFX9z+TpM3k wfUGQDzjPoyykPg/7M3Z+O7ZCEABSgjW2LT5P3pl9LwNcgpAbCYw0z/T+j86 ypori9cLQL0gflb/Cfw/lpOs9xIqDUCTvMaj8yv9Pw4alcoYNg5AT3Y1d0Bm /j+pB2LLtyIPQLClAv7Nmv8/NnA5bbjSD0BLO2UnSF0AQFrcILXmpw9AsTLc klX5AED+sDHBQukOQNp6UGP9igFAbZ+lR/sLDkD10dd20SgCQNHi3Mj38wxA 42MO5MXDAkAZdr6AZb8LQJRGQrZUVANArv7zEMKHCkA4OInLD/EDQLBlMO3M IglAnnrNRWWDBEA3d8OX6skHQNf3wBnbEgVAD3D3ndNyBkADhMcwfa4FQHOK 7Wak/wRA8WDLrLk/BkC/MhCgYawDQNJM4msi3QZAwss/TmVLAkCGc6iEq3cH QIsIg92+BgFA/OprAs8HCECrPCvgePD/P2VxQsMepAhAKXVLE0Xg/j+RSBbp CDYJQPRz0a7WJ/4/kFqZaBPFCUDN4sX5uLj9P4J7LytKYApAvh1MbRmT/T82 7cJSG/EKQHzT1YZwwv0/3W1pvRiOC0B2LZ/10lT+P0c/DY2wIAxAVrX8MJA7 /z+DS2C2aLAMQElWzbMzPQBAsmbGIk1MDUCi9bAadCABQKTSKfTL3Q1AYexd q+EpAkCJTaAId3sOQFyS/ndEhgNAQAPGdkIWD0BHWcLdahwFQLoJ6Umopg9A vd1CiejSBkCTjw8wnSEQQPiVkXD08QhAq0KpbbNqEEBsk2Azxi4LQCyTGthZ shBAYCBYjj+gDUAnaxVkFgARQMwfdA9ySBBAg+uOIqBIEUBj/5rHgMsRQNFn q5SZmRFAL++xNeOlE0Dwt3AR "]]}}}, AspectRatio -> 1, Axes -> False, Background -> GrayLevel[0.93], Frame -> True, FrameStyle -> Directive[ GrayLevel[0.7], Thickness[Tiny]], FrameTicks -> None, ImageSize -> {Automatic, Dynamic[ 3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[ Magnification])]}, PlotRange -> {{0, 5}, {0, 5}}], GridBox[{{ RowBox[{ TagBox["\"Domain: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox[ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "6.`"}], "}"}], "}"}], "SummaryItem"]}]}, { RowBox[{ TagBox["\"Output: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox["\"scalar\"", "SummaryItem"]}]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}], True -> GridBox[{{ PaneBox[ ButtonBox[ DynamicBox[ FEPrivate`FrontEndResource[ "FEBitmaps", "SquareMinusIconMedium"]], ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, Evaluator -> Automatic, Method -> "Preemptive"], Alignment -> {Center, Center}, ImageSize -> Dynamic[{ Automatic, 3.5 CurrentValue["FontCapHeight"]/ AbsoluteCurrentValue[Magnification]}]], GraphicsBox[{{ GrayLevel[0.6], AbsolutePointSize[5], PointBox[{1, 1}], PointBox[{2, 4}], PointBox[{3, 2}], PointBox[{4, 3}]}, {{}, {}, { AbsoluteThickness[1], Opacity[1.], LineBox[CompressedData[" 1:eJwBMQPO/CFib1JlAgAAADIAAAACAAAA4ScLwZmZ6T/ACPskWpOYv4AjHgZ5 3Os/cnpQh5xu1j/qWn1XCVDuP5K7ih5ptuc/r+pongFN8D/CUK87BHLxP46d cUQ/bPE/ujUa8/qu9j9TbqBw1aPyP/TWyyAhFfw/neDJZqDG8z+QAqdF9GsA QM1wGePDAfU/VsVD/9nXAkCidscSKDf2P6Bp73exDQVA/B1wDMFX9z+TpM3k wfUGQDzjPoyykPg/7M3Z+O7ZCEABSgjW2LT5P3pl9LwNcgpAbCYw0z/T+j86 ypori9cLQL0gflb/Cfw/lpOs9xIqDUCTvMaj8yv9Pw4alcoYNg5AT3Y1d0Bm /j+pB2LLtyIPQLClAv7Nmv8/NnA5bbjSD0BLO2UnSF0AQFrcILXmpw9AsTLc klX5AED+sDHBQukOQNp6UGP9igFAbZ+lR/sLDkD10dd20SgCQNHi3Mj38wxA 42MO5MXDAkAZdr6AZb8LQJRGQrZUVANArv7zEMKHCkA4OInLD/EDQLBlMO3M IglAnnrNRWWDBEA3d8OX6skHQNf3wBnbEgVAD3D3ndNyBkADhMcwfa4FQHOK 7Wak/wRA8WDLrLk/BkC/MhCgYawDQNJM4msi3QZAwss/TmVLAkCGc6iEq3cH QIsIg92+BgFA/OprAs8HCECrPCvgePD/P2VxQsMepAhAKXVLE0Xg/j+RSBbp CDYJQPRz0a7WJ/4/kFqZaBPFCUDN4sX5uLj9P4J7LytKYApAvh1MbRmT/T82 7cJSG/EKQHzT1YZwwv0/3W1pvRiOC0B2LZ/10lT+P0c/DY2wIAxAVrX8MJA7 /z+DS2C2aLAMQElWzbMzPQBAsmbGIk1MDUCi9bAadCABQKTSKfTL3Q1AYexd q+EpAkCJTaAId3sOQFyS/ndEhgNAQAPGdkIWD0BHWcLdahwFQLoJ6Umopg9A vd1CiejSBkCTjw8wnSEQQPiVkXD08QhAq0KpbbNqEEBsk2Azxi4LQCyTGthZ shBAYCBYjj+gDUAnaxVkFgARQMwfdA9ySBBAg+uOIqBIEUBj/5rHgMsRQNFn q5SZmRFAL++xNeOlE0Dwt3AR "]]}}}, AspectRatio -> 1, Axes -> False, Background -> GrayLevel[0.93], Frame -> True, FrameStyle -> Directive[ GrayLevel[0.7], Thickness[Tiny]], FrameTicks -> None, ImageSize -> {Automatic, Dynamic[ 3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[ Magnification])]}, PlotRange -> {{0, 5}, {0, 5}}], GridBox[{{ RowBox[{ TagBox["\"Domain: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox[ RowBox[{"{", RowBox[{"{", RowBox[{"0.`", ",", "6.`"}], "}"}], "}"}], "SummaryItem"]}]}, { RowBox[{ TagBox["\"Output: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox["\"scalar\"", "SummaryItem"]}]}, { RowBox[{ TagBox["\"Order: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox["3", "SummaryItem"]}]}, { RowBox[{ TagBox["\"Method: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox["\"BSpline\"", "SummaryItem"]}]}, { RowBox[{ TagBox["\"Periodic: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox["False", "SummaryItem"]}]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> { "Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}]}, Dynamic[Typeset`open$$], ImageSize -> Automatic], BaselinePosition -> Baseline], DynamicModuleValues :> {}], StyleBox["]", "NonInterpretableSummary"]}]}, "CopyTag", DisplayFunction->(#& ), InterpretationFunction->("InterpolatingFunction[{{0., 6.}}, <>]"& )], False, Editable->False, SelectWithContents->True, Selectable->False], "[", "x", "]"}]}], SequenceForm["Spline y = ", InterpolatingFunction[{{0., 6.}}, { 5, 39, 0, {7}, {4}, 0, 0, 0, 0, Automatic, {}, {}, False}, {{0., 1., 2., 3., 4., 5., 6.}}, { BSplineFunction[ 1, {{0., 6.}}, {3}, { False}, {{1., 0.0555555555555555, -0.611111111111111, 0.9999999999999999, 2.611111111111111, 1.9444444444444444`, 1.}, {}}, {{0., 0., 0., 0., 2., 3., 3.9999999999999996`, 6., 6., 6., 6.}}, {0}, MachinePrecision, "Unevaluated"], {}}, { Automatic}][$CellContext`x]], Editable->False]], "Print", CellChangeTimes->{3.5895454738428497`*^9, 3.7465249822679796`*^9, 3.7467274982143564`*^9, 3.746728649266326*^9},ExpressionUUID->"78d86641-93d0-433f-8ce0-\ 5b1d7af1eabb"], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"data points = \"\>", "\[InvisibleSpace]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"3.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"4.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"6.`", ",", "1.`"}], "}"}]}], "}"}]}], SequenceForm[ "data points = ", {{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, {6., 1.}}], Editable->False]], "Print", CellChangeTimes->{3.5895454738428497`*^9, 3.7465249822679796`*^9, 3.7467274982143564`*^9, 3.7467286492700033`*^9},ExpressionUUID->"1a436257-ec77-45d8-9e6e-\ 820210431ca9"] }, Open ]] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "Spline", " ", "can", " ", "be", " ", "evaluated", " ", "at", " ", "any", " ", "point"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.7467276829023705`*^9, 3.7467276942141733`*^9}},ExpressionUUID->"f82456ac-be36-495e-8193-\ 8a37a302e55a"], Cell[CellGroupData[{ Cell[BoxData[ StyleBox[ RowBox[{"spline", "[", "0.5", "]"}], FontFamily->"Times New Roman"]], "Input", CellChangeTimes->{{3.7467276218024673`*^9, 3.746727626483859*^9}},ExpressionUUID->"bda15792-e9d8-4f58-b847-\ ee0e49bbb5fa"], Cell[BoxData["0.39062499999999994`"], "Output", CellChangeTimes->{3.746727627868847*^9, 3.7467286536359406`*^9},ExpressionUUID->"8b0da6e9-af63-443f-9828-\ 82ae3148e91f"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ StyleBox[ RowBox[{"spline", "[", "1", "]"}], FontFamily->"Times New Roman"]], "Input", CellChangeTimes->{{3.746727638527636*^9, 3.746727642831543*^9}},ExpressionUUID->"0062becb-6394-4e7b-80da-\ 59f6acd03a15"], Cell[BoxData[ RowBox[{"-", "2.0816681711721685`*^-17"}]], "Output", CellChangeTimes->{3.7467276436250615`*^9, 3.746728655271364*^9},ExpressionUUID->"f419eacf-8a6c-444b-95e0-\ b5c2dd18ec37"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ StyleBox[ RowBox[{"spline", "[", "2.5", "]"}], FontFamily->"Times New Roman"]], "Input", CellChangeTimes->{{3.7467276218024673`*^9, 3.746727626483859*^9}, { 3.7467278862973433`*^9, 3.7467278865162554`*^9}},ExpressionUUID->"7e54ee62-481a-4f9b-a2e5-\ fbc9527eb270"], Cell[BoxData["0.42187499999999994`"], "Output", CellChangeTimes->{3.746727888214484*^9, 3.7467286564631853`*^9},ExpressionUUID->"b2480ce5-9fcf-4025-bf5e-\ 313b67d8f489"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Show", "[", RowBox[{"grNatural", ",", "grMathematica", ",", "dots", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<x\>\"", ",", "\"\<y \>\""}], "}"}]}]}], "]"}]], "Input", CellChangeTimes->{{3.7467280438697634`*^9, 3.7467280451765795`*^9}},ExpressionUUID->"409c562b-3e93-491e-9a6c-\ 4ce5a4f03d4c"], Cell[BoxData[ GraphicsBox[{{{{}, {}, TagBox[ {RGBColor[1, 0, 1], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1: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 "]]}, Annotation[#, "Charting`Private`Tag$3843#1"]& ]}, {}, {}}, {{{}, {}, TagBox[ {RGBColor[0, 0, 1], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1:eJwV1nk8VG8XAPA7WiyFmbFMliRJIlGhVDonW6VNKdtPRJRKSLZKJUtJREQq LaQQLZZIymO0EKKkkrIkZUt2M9Z57/vXfL6fuffZznPOPfOdPXe6ClEU9ZJB Uf//5W/2uGnhGbSuILIpRSDohXMui9Rr1Byg3S1uSVpXL7z/13YoSs0DvK/e FNv1uRf6co0j3dVOw187sbKXD3ohWHZQ0V7tElSde2LzcXcvVJaZ/7ZUuwXc qvPXR7P+gecdv3fb1R6B9B/VY7sce4AbGVm0Va0YPgxob3Ou64IZM72FOw/V gLl21fGrN3/DpjNOYU+tvsINTjF7UvknFBx3bbz3sQlurDm7um9FA3yzO6zt 7f8Lpjo/3rphWQusDVH7udgOFxSdl0/cLgOTjBeguaMdxN42p6gdLoOAWX/n xDu1g1DLEX8v/TJoqTGvdAtuh4yVDAfn92/hiY2IDvN1O1zV77lGJt6AxaGQ UYcNHSAWoHxln9NriIk6HjmxtRO+LFet8jTiArPONWflf91gm2a8SvZdPmDP +q5dh7vhlfVpp2lH88FrppKK98luuJsbq6Itlw8fV325nHWjGzom+ZFGh55C 7E2zo/N/dENbVXS7rWQeyBxYpDNrz19o+xrWsMM1G+THOh42OfTA6YB53+Bs OixQds8Ic+6FpLM/NgzmhkFk0/zkqKO9sOpyls7WayEwkvQ1MT6oFwIiNBkH g85CuZxx+L1bvfBM6Z9dddoJcJeSP/CmoReYH9SnS6AL/DfNJTZ4cR/YzHQa 1zDzI/dGWBalyX2wMf26RZR8PGn4/HezWUYfqB+LOX5pVgKReFq2oeIJ/bxv 5p7M8QQScOwU1JI+eP1Up2flt0Ri3textLWxD+asjTe6diGJ/Osk4kLy/dAf 8bUspzmZrGo8Urk+th8yv+id0iPp5NFibxm36/2wIy3ym9nyDKLq5+d4KaUf ri50Ef+QmkGYkmcGG3L6QaH/b8Gm8AekE2MUfD71w1etqnX1G7PI9dScw/el B2Bu9JCZ5ZPHZOIwb9asqwMg9ML4yMLZucT72fjuZbcH4NBgkY6CYS7pmE7d sU4bgKxrlh8rj+SSupsiuqkFA/BdRjx8T3UueVgjZ29YPwD1jB9N6yPziMOK tVmecoNQYRFSOXP8KeGOBW2puzEIAvE3R8xSn5E6Oe8Rz7uD0F305fePd8/I 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 "]]}, Annotation[#, "Charting`Private`Tag$6070#1"]& ]}, {}, {}}, {{}, {{}, {RGBColor[1, 0, 0], PointSize[0.02], AbsoluteThickness[1.6], PointBox[{{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, { 6., 1.}}]}, {}}, {}, {}, {{}, {}}, {{}, {}}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{ FormBox["\"x\"", TraditionalForm], FormBox["\"y \"", TraditionalForm]}, AxesOrigin->{0, 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{0, 6}, {-0.1499998667303279, 2.149999845941364}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7467280469827013`*^9, 3.7467286583856783`*^9},ExpressionUUID->"2a0a3cf3-e647-4c38-92de-\ a1052c44f5df"] }, Open ]], Cell[TextData[{ StyleBox["We see from the graph that the result of Mathematica\ \[CloseCurlyQuote]s computation is different from the above constructed \ natural spline. ", FontFamily->"Times New Roman", FontWeight->"Bold"], " " }], "Text", Evaluatable->False, CellChangeTimes->{ 3.5892088080696516`*^9, 3.7467275603625426`*^9, {3.7467288243106995`*^9, 3.7467290660334253`*^9}, 3.746729270119134*^9, 3.7467309942225575`*^9}, AspectRatioFixed-> True,ExpressionUUID->"2b3ad050-0ea1-40e1-91a7-d2c919cb9517"], Cell[TextData[{ StyleBox["Clearly, when ", FontFamily->"Times New Roman", FontWeight->"Bold"], StyleBox["Mathematica", FontWeight->"Bold", FontSlant->"Italic"], StyleBox[" constructs a cubic spline it is not using the natural cubic \ spline. It is not clear how to specify the end conditions for Mathematica\ \[CloseCurlyQuote]s Method -> Spline. ", FontWeight->"Bold"], " " }], "Text", Evaluatable->False, CellChangeTimes->{ 3.5892088080696516`*^9, 3.7467275603625426`*^9, {3.7467288243106995`*^9, 3.74672894624205*^9}}, AspectRatioFixed-> True,ExpressionUUID->"6ee088da-d7b8-405a-b1e9-524267e88992"], Cell[TextData[{ StyleBox["Clamped Spline.", FontFamily->"Times New Roman", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], StyleBox[" ", FontFamily->"Times New Roman"] }], "Text"], Cell[TextData[{ StyleBox["Lemma (Clamped Spline).", FontFamily->"Times New Roman", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], StyleBox[" There exists a unique cubic spline with the first derivative \ boundary conditions ", FontFamily->"Times New Roman"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"S", "'"}], RowBox[{"(", "a", ")"}]}], "=", SubscriptBox["d", "0"]}]]], StyleBox[" and ", FontFamily->"Times New Roman"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"S", "'"}], RowBox[{"(", "b", ")"}]}], "=", SubscriptBox["d", "n"]}]]], ". ", StyleBox[" ", FontFamily->"Times New Roman"] }], "Text"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"ClampedSpline", "[", RowBox[{"XY0_", ",", "D1_", ",", "DN1_"}], "]"}], " ", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"XY", "=", "XY0"}], ",", RowBox[{"dx1", "=", "D1"}], ",", RowBox[{"dxn1", "=", "DN1"}]}], "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Differencess", ":=", " ", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "k", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"n", " ", "=", " ", RowBox[{ RowBox[{"Length", "[", "XY", "]"}], "-", "1"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"X", " ", "=", " ", SubscriptBox[ RowBox[{"Transpose", "[", "XY", "]"}], RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"Y", " ", "=", " ", SubscriptBox[ RowBox[{"Transpose", "[", "XY", "]"}], RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"h", "=", RowBox[{"d", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "n", "}"}]}], "]"}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"m", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"n", "+", "1"}], "}"}]}], "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"a", "=", RowBox[{"b", "=", RowBox[{"c", "=", RowBox[{"v", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"n", "-", "1"}], "}"}]}], "]"}]}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"s", " ", "=", " ", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "n", "}"}], ",", RowBox[{"{", "4", "}"}]}], "]"}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["h", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["d", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "2"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["Y", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["a", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{"2", " ", RowBox[{"(", RowBox[{ SubscriptBox["h", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "+", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ")"}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["c", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{"6", " ", RowBox[{"(", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["d", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}], ")"}]}]}]}]}], "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{"TriDiagonal", ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"k", ",", "t"}], "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "-", " ", FractionBox[ SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], "2"]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{"3", RowBox[{"(", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "-", " ", "dx1"}], ")"}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], "-", FractionBox[ SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]], "2"]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], "-", RowBox[{"3", RowBox[{"(", RowBox[{"dxn1", "-", SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]]}], ")"}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "2"}], ",", " ", RowBox[{"k", "\[LessEqual]", RowBox[{"n", "-", "1"}]}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"t", " ", "=", " ", FractionBox[ SubscriptBox["a", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]], SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{"t", " ", SubscriptBox["c", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{"t", " ", SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "-", "1"}], "\[RightDoubleBracket]"}]]}]}]}], ";"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ SubscriptBox["v", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]], SubscriptBox["b", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "-", "1"}], "\[RightDoubleBracket]"}]]]}], ";", " ", "\[IndentingNewLine]", RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", RowBox[{"n", "-", "2"}]}], ",", " ", RowBox[{"1", "\[LessEqual]", "k"}], ",", " ", RowBox[{"k", "--"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["v", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{ SubscriptBox["c", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "2"}], "\[RightDoubleBracket]"}]]}]}], SubscriptBox["b", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]]}], ";"}]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{"ComputeCoeff", ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "k", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", " ", RowBox[{ RowBox[{"k", "=", "1"}], ",", " ", RowBox[{"k", "\[LessEqual]", "n"}], ",", " ", RowBox[{"k", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ FractionBox[ RowBox[{"3", " ", RowBox[{"(", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]], " ", "-", " ", "dx1"}], ")"}]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]], " ", "-", " ", FractionBox[ SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]], "2"]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ FractionBox[ RowBox[{"3", " ", RowBox[{"(", RowBox[{"dxn1", " ", "-", " ", SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]]}], ")"}]}], SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]]], " ", "-", " ", FractionBox[ SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "n", "\[RightDoubleBracket]"}]], "2"]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]], " ", "=", " ", SubscriptBox["Y", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "2"}], "\[RightDoubleBracket]"}]], " ", "=", " ", RowBox[{ SubscriptBox["d", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", "-", " ", RowBox[{ FractionBox["1", "6"], " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], "+", SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]]}], ")"}]}]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "3"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]], "2"]}], ";", " ", "\[IndentingNewLine]", RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "4"}], "\[RightDoubleBracket]"}]], " ", "=", " ", FractionBox[ RowBox[{ SubscriptBox["m", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", "+", "1"}], "\[RightDoubleBracket]"}]], " ", "-", " ", SubscriptBox["m", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}], RowBox[{"6", " ", SubscriptBox["h", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]]}], ";"}]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";", " ", "\n", RowBox[{ RowBox[{"CS", "[", "t_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "j", "}"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", " ", RowBox[{ RowBox[{"j", "=", "1"}], ",", " ", RowBox[{"j", "\[LessEqual]", "n"}], ",", " ", RowBox[{"j", "++"}], ",", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", " ", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "j", "\[RightDoubleBracket]"}]], "\[LessEqual]", "t"}], " ", "&&", " ", RowBox[{"t", "<", SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"j", "+", "1"}], "\[RightDoubleBracket]"}]]}]}], ",", RowBox[{"k", "=", "j"}]}], " ", "]"}], ";"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"t", "<", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ",", RowBox[{"k", "=", "1"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ SubscriptBox["X", RowBox[{"\[LeftDoubleBracket]", RowBox[{"n", "+", "1"}], "\[RightDoubleBracket]"}]], "\[LessEqual]", "t"}], ",", RowBox[{"k", "=", "n"}]}], " ", "]"}], ";", " ", "\[IndentingNewLine]", RowBox[{"w", " ", "=", " ", RowBox[{"t", " ", "-", " ", SubscriptBox["X", RowBox[{ "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}]]}]}], ";", " ", "\[IndentingNewLine]", RowBox[{"Return", "[", " ", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "4"}], "\[RightDoubleBracket]"}]], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "3"}], "\[RightDoubleBracket]"}]]}], ")"}], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "2"}], "\[RightDoubleBracket]"}]]}], ")"}], " ", "w"}], "+", SubscriptBox["s", RowBox[{"\[LeftDoubleBracket]", RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]]}], " ", "]"}], ";"}]}], " ", "]"}]}], ";"}], " ", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", RowBox[{ "The", " ", "main", " ", "part", " ", "of", " ", "the", " ", "program", " ", "starts", " ", "here"}], "*)"}], FontColor->RGBColor[1, 0, 0]], StyleBox[";", FontColor->RGBColor[1, 0, 0]], " ", "\[IndentingNewLine]", "Differencess", ";", " ", "\[IndentingNewLine]", "TriDiagonal", ";", " ", "\[IndentingNewLine]", "ComputeCoeff", ";"}]}], " ", "]"}]}], ";"}], " "}]], "Input", CellChangeTimes->{{3.589209027223652*^9, 3.5892090334416513`*^9}}, AspectRatioFixed-> False,ExpressionUUID->"d5266d14-916a-40f8-a8d3-238967bee298"], Cell[TextData[{ StyleBox["Example 3.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], " Construct the clamped cubic spline for the points ", Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{"0", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"1", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"2", ",", "0"}], ")"}], ",", RowBox[{"(", RowBox[{"3", ",", "1"}], ")"}], ",", RowBox[{"(", RowBox[{"4", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"5", ",", "2"}], ")"}], ",", RowBox[{"(", RowBox[{"6", ",", "1"}], ")"}]}]],ExpressionUUID-> "7f2ef089-e2ca-4b26-a25b-c2b9d2dae95f"], " that has the endpoint constraints ", Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"S", "'"}], RowBox[{"(", "0", ")"}]}], "=", RowBox[{ RowBox[{ RowBox[{"-", "0.2"}], " ", StyleBox["and", FontFamily->"Times New Roman"], " ", RowBox[{"S", "'"}], RowBox[{"(", "6", ")"}]}], " ", "=", " ", RowBox[{"-", "2.5"}]}]}]],ExpressionUUID-> "8afe1697-0cd2-4a5f-bd47-aaa3baf2e3e5"], ". " }], "Text", Evaluatable->False, AspectRatioFixed-> True,ExpressionUUID->"f491220d-2e61-40f0-ad76-9c561e3b43ec"], Cell[CellGroupData[{ Cell[TextData[StyleBox["Solution 3.", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]]], "Text", Evaluatable->False, AspectRatioFixed-> False,ExpressionUUID->"ddfa33e7-5de3-4384-9428-16789eac8e37"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"XY", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"1.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"2.", ",", "0."}], "}"}], ",", RowBox[{"{", RowBox[{"3.", ",", "1."}], "}"}], ",", RowBox[{"{", RowBox[{"4.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"5.", ",", "2."}], "}"}], ",", RowBox[{"{", RowBox[{"6.", ",", "1."}], "}"}]}], "}"}]}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"ClampedSpline", "[", RowBox[{"XY", ",", RowBox[{"-", "0.2"}], ",", RowBox[{"-", "2.5"}]}], "]"}], ";"}], " ", "\[IndentingNewLine]"}], "\n", RowBox[{ RowBox[{ RowBox[{"dots", "=", RowBox[{"ListPlot", "[", RowBox[{"XY", ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"PointSize", "[", "0.02", "]"}]}], "}"}]}]}], "]"}]}], ";"}], " "}], "\n", RowBox[{ RowBox[{ RowBox[{"grclamped", "=", RowBox[{"Plot", "[", RowBox[{ RowBox[{"CS", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "0", ",", "6"}], "}"}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"{", "Green", "}"}]}]}], "]"}]}], ";"}], " "}], "\n", RowBox[{ RowBox[{"Show", "[", RowBox[{"grclamped", ",", "dots", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<x\>\"", ",", "\"\<y \>\""}], "}"}]}]}], "]"}], " "}], "\n", RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<data points = \>\"", ",", "XY"}], "]"}], ";"}], " "}]}], "Input", CellChangeTimes->{{3.589209070493721*^9, 3.5892090875358934`*^9}, { 3.589209136027378*^9, 3.5892091682277*^9}, {3.589209583242511*^9, 3.589209586082539*^9}, {3.589545531089574*^9, 3.589545535341999*^9}, { 3.58954557995446*^9, 3.589545580322497*^9}, {3.7465250494751124`*^9, 3.746525050037683*^9}},ExpressionUUID->"7325e453-f97d-4857-a7f4-\ 6a99243aeacd"], Cell[BoxData[ GraphicsBox[{{{{}, {}, TagBox[ {RGBColor[0, 1, 0], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1:eJwV13k8VN8bB/ArshZzxyzJUqkoEUUL3/SckDalIrJXSkglhVIiIdmXlEr2 kgjZQ659RptCigqVZN/NWGd+9/fPzOv9ujP3nnuecz7nnFWnLh49swjDMBr5 8f/v6QMXnhy+6LuTt6Z9nM8fgcDTyusalWzBStro88j8CHwY7nYOU7oAX1Ly FVkzIzCarx/qonQT1F5ZOalOjIAfY0LOWikcaju/Rjd3j0BTnklD9FQknNpA 0AV+jcDpdjV/7tdo2KYRmsz4Sd5//e+Zyvj7EHmpUWG2ZQTesfb/NVFKACvl mvK0mhHI9qQethZKAuGopBgaMQKeIT4vw6eSAHtvIna+dARE8y0cJ76mwFiV pty33BFQWSTZUR7/DBQWpQzGxY/AxSSPBmOlbHDy8Er4cnEEthf8UfJj5kCk bf2Gb04jgJ1ep2cplAvb97Jv19qPQINnbGLoVC6sUO3psDQfAcvEi5ZjX/Pg YfDRQ766I3BjePWn0vgiEN2tcbVi8QicuNrOM6EXw9fsoWsOvGEwWBSlNhRW DNb7d7nNcIZhKYMXvMKnBO4ppkZ1/RuGBN1vu/1PloJ0lkxcIXsYqkJDyw4q VQC9nqYSEjgMFf1t7yUyKkBMZ6hSw3sYyvcqdzRsIEBjMgojLg+D1aKTWOqy StgjVd8We2IYjlXMKa5QqIKxl7ci1bWHYf/WTY7M9TUwyw2dVO4ZAk2l+HER YME4TbmqWX0INn/Rm3PwZcFSplVR+eoh0PDvE6yvYsFfLPhwFHMINv7eSvc3 YMOsnW3zAm8Q1iV83obtbwCqTHBOz/tBkGOIeE+bvoPqX5rpS84MwmJhN5E+ 50bQWC1UcfjOAPTu85GaSG+EWuG1x5quDcDbsFDmQncjtLn8rTNwGQBWcHNM kPonaGGI+s0fHoAQ6nBqfMYnoO1UDXgtMwA0xdW1tU8+A7X0xWuv5/2gtCtM iB7YDJXO5mPJZX2wz+dkQKHZV0irVd5fW/4Piq+d+fn0cweE5AQ8rbb/A22W 59TdPP9AfdJ13fJHPwDfE+ZQhf7BtzfZ+wbEmoHSciZvm9UAaFkoyFo/qgY0 tKvf9NwALNEcC3M9Wg2uwgqKbtcHIL77qEGueDV83t4alfV4AAqOifXnXa+C 6CeGl1b9IK+v0JBvtKsE+lllDQmbQXBNeXrb4WQ5LJ/tfdlhOwQUvVd8s5F8 2C9d93fuwhBc9bN7kn8uH7xUk+VlfIYgqDPmmXdvHny3tQgzSRyCkgXZb9Z/ XkF8TYMLu3MIIk3EfYrLc0Ah7MWGPLLO2A3VN9zmdFi90iUj4NQIdImrHZW/ HAWhHauSwy6NAJqNtdjoGwGc+K9xsb4j4JtXX1IqHwpsGf2gpwnkON/uLpZr HwAu0svP1rWTjpcRVtjmClaCp6P91o9Cu/TL0otVt4inHPxwdfIoLHd+Ih6S mUS0fxk8YJgxCvvSrmywO5tMSBay9rzNHYWBcrGaPYopxNXL3tBEjIJZ/0Mz 89hUYv9o78bfP0dhvDWI4un6jBjuI5YuWj4Gi8TM2kZnM4ntP8+/2xU9BkdV Nwjv2ZRPZK93ozs+GoPKqcKW03fyiTUeHnbhKWNg/sf31/yPfIIi5TPRnjcG +XeULeIDC4g+FCl7pXkM1tzs3/akuZB4lJZ37hltHJY4fXd5a1pCUMaKCt/L jYPy0Wa9xJQSIlC3jD++Zhx2NBl1j46UEG6tNTGwZRxEJmlqEndfEwdEv5R9 OzYOtD2qB1cWlhLz57gSEg/GwcBN4tboZDnhVjJ3bFPiOFCf39n8VOcN0SuE JZmnj0PGv/odbT5viJYnolppxePQ39XBI0QriJeNMta638bhmUF6biiNIGw1 d2RdlJkAxSVMvdXBlUTVrK9Ry+MJeEH//j3LsppokXHjXEydgFRxS//vl6uJ nu32SRKZE6DzH+1YS2g1scRz96Re6QQEwYtXayqqCbMJsfhX3yZgi4PLOj2F GqJ/IHognD4JUyV192621BDz4v6xKvKTMBLOCDbvryGkVNyhfs0k3Dh56tUc v4bQcjSPWdAkPWj57alKLeHTLfufy9FJqN/Qefy2dy1B+5kWvC9iEm7/yM26 JFNHKM3Hav29PwkXUxqDF6vWEdqydzp8Eybh59qMtDM76whbC6fNJS8n4dyx +Q/Bp+qIjC9q7UrvJ0GwbzPb+XkdsfNj0XohsSlYddHmT4RKPXF4KL05kTIF w5qGhiPa9YT9kofe/y2bgnWeGcOy++qJoP3XP7spT4GCk/HRnw71RHM9XPu1 ewqKQ9dtXZRUTzgSbHaF3xQk2IVO/xZlETPaFEWt4CnIvG1o/YvGIoILzK9n RE2By5cbvJyVLCIzo0ftXtIUHPw4taNiG4sYjhGKcaqYgpWZcDzJnkX4SBoN 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 OZvL5zORd7TqUQwbhf8B0rz1jA== "]]}, Annotation[#, "Charting`Private`Tag$7997#1"]& ]}, {}, {}}, {{}, {{}, {RGBColor[1, 0, 0], PointSize[0.02], AbsoluteThickness[1.6], PointBox[{{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, { 6., 1.}}]}, {}}, {}, {}, {{}, {}}, {{}, {}}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{ FormBox["\"x\"", TraditionalForm], FormBox["\"y \"", TraditionalForm]}, AxesOrigin->{0, 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{0, 6}, {-0.19224460468656906`, 2.098191168438455}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.589209106557083*^9, 3.589209320127437*^9, 3.589209587402552*^9, 3.5895455540788727`*^9, 3.5895455870151663`*^9, 3.74652508194508*^9, 3.746729441129129*^9, 3.7467311087131977`*^9},ExpressionUUID->"4325be92-aeb2-402c-9405-\ 24bccfe15526"], Cell[BoxData[ InterpretationBox[ RowBox[{"\<\"data points = \"\>", "\[InvisibleSpace]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"2.`", ",", "0.`"}], "}"}], ",", RowBox[{"{", RowBox[{"3.`", ",", "1.`"}], "}"}], ",", RowBox[{"{", RowBox[{"4.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"5.`", ",", "2.`"}], "}"}], ",", RowBox[{"{", RowBox[{"6.`", ",", "1.`"}], "}"}]}], "}"}]}], SequenceForm[ "data points = ", {{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, {6., 1.}}], Editable->False]], "Print", CellChangeTimes->{3.5895455870221663`*^9, 3.7465250819607053`*^9, 3.7467294411413374`*^9, 3.746731108723426*^9},ExpressionUUID->"586b09af-11d5-4691-a722-\ 3db2db8eab6d"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "Below", " ", "the", " ", "LAST", " ", "segment", " ", "of", " ", "the", " ", "spline", " ", "is", " ", "printed", " ", "and", " ", "plotted"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.7465245879538484`*^9, 3.7465246943562407`*^9}, { 3.7465247353852243`*^9, 3.7465247413676605`*^9}, {3.746730318328285*^9, 3.746730346601475*^9}, {3.7467304552898035`*^9, 3.7467304595882444`*^9}},ExpressionUUID->"3cac92b3-a616-4cdd-a05d-\ c10a6f9d102f"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"Print", "[", RowBox[{"\"\<Spline y = \>\"", ",", RowBox[{"CS", "[", "x", "]"}]}], "]"}], ";"}], " "}]], "Input",Expressio\ nUUID->"cc1b9d78-67d8-481b-87d8-bfe70264798e"], Cell[BoxData[ InterpretationBox[ RowBox[{ RowBox[{"\<\"Spline y = \"\>", "\[InvisibleSpace]", "2.`"}], "\[VeryThinSpace]", "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.2529487179487181`"}], "+", RowBox[{ RowBox[{"(", RowBox[{"0.005897435897435881`", "\[VeryThinSpace]", "-", RowBox[{"0.7529487179487179`", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], SequenceForm[ "Spline y = ", 2. + (-0.2529487179487181 + (0.005897435897435881 - 0.7529487179487179 (-5. + $CellContext`x)) (-5. + $CellContext`x)) \ (-5. + $CellContext`x)], Editable->False]], "Print", CellChangeTimes->{3.7465247262902822`*^9, 3.746727116538232*^9, 3.746730412346168*^9, 3.7467311132099085`*^9},ExpressionUUID->"25732e1b-dfd6-4063-82e3-\ 896dc0e410e0"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"CS", "[", "x", "]"}], ",", RowBox[{"{", RowBox[{"x", ",", "5", ",", "6"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.7467302317424717`*^9, 3.7467302797112417`*^9}, { 3.7467303614784436`*^9, 3.7467303639784265`*^9}, {3.7467304290304146`*^9, 3.7467304326677094`*^9}},ExpressionUUID->"b49df750-a479-4fcf-b41a-\ 92981bae896b"], Cell[BoxData[ GraphicsBox[{{{}, {}, TagBox[ {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ 1.], LineBox[CompressedData[" 1:eJwV1GswlQkYB/CDXDphL70XcdqytbrtoijadnoerBo6ROowQhxZwhmrpSMc semCRqdkpCGJ2GIkdAqxtmwjypTYTahMVkvUm+O4ncu773545j+/mf+X/5fH Why3J0Kfx+N5cfd/mhWF6PF4BHq6FOtYloWoNlmkD+e1u15fq+HcPlL05Apn dfFBr2DOqd8NFLroESjcRRY36ViYaPXfdFyfQBPd0u2JWhYeD/uEGxkSmHq2 Nm18gYXsNW5/mvIJ7G1taO5VsWBSvyZrGUFgoEOQXcV7FupcDwy/XUdghI/X h/g+FrQGjbk/bCfQ319oJWljwa2x7DO7PQQabFIciapiwfmdJrQnkkCNzeNe TR4L3TuSjBelErhvt3tzhIyFpSvEaaPnCOznDfdMhbPg936wQ1xJYL7g/sWn Hiw4jh2NkjQTWJdile5qz+07cOLF2mcEljgkRC5byoLKuL748D8Eztlumwya 0YF1efwW0TyBejZJN0pf6EBz93LJuDmJbwydDkgVOjjKTgabrSJRaBzgWHFB B+WtVRNvnEkUVB8KU0h00Bm/4O3tTaL5x7BRfXcdnBfFGHmKSazN8xDcEujA pMEzd0ZKYnVO7hXnD1pY6SaM2XiGxOcdywtXtGlh1POexfKrJB5s8bJanKOF 33a0FF69Q+L2dflZ5/y0sCThTZyii8TQirycGoEWllseplKGSYSi6YELQxp4 +umbL7tVJL7yLCNWl2ggrSV6uGkxhckF1+OTQzQwoPdVRsAKCm8O8VXehAb6 pcrETAcKp75+lbShSw0nf3LaFuZBYagovzRBqgZbD9Pev0MoJMpa2cKVapAG G9wfPExhpzhV7N61AHHjUennT1P4bUZ+zMChBTC5zuT9VUShkSyev5G/AEX7 F6c01FLYUX9M3lc5D69Pyje5PaTwdLyyo8dpHh683QqhLylMKKw+tLlzDkSN vgJbhsKPq2K15V5zkN2W4529iMamvkDdo+ez0Ngs2ptuQSOzOmtULZqFAjv5 +jW2NCbX9rYnPZoBqu/9viBXGqceWiSmwgz8qLzt6xpAo/BO2ox/mQokhl9Y 35fQ2HBkdZKdgQqcPHLdn2bQWLS3RZUeOQ21hsnfny2gMVZ6uaTmjhI6lacy B6topJZJZV2mSnjdZ3P1we9cf+hRYHfIFJTZO8r399Fo3jNVW37pE5i0hD/P GKPRof2rnb8OMlBe//njAc6TdycyrfsZwBst7ZvHaUx4IXJq62NAWkArxjiL w5/Mq7sZGI3vuug7QeM55xFl7B8MPLBxCLH+SOOp0JZbjhUMpMn1x9qmaUyp dNEExjFgeermsKWKRpdjbrf/jWHgtizoZQJnn6Hdw4lRDExEK7rWztAon913 PjeMgf3u0TXyWRoVjndFjX4MOC88+yV0gcYR3/7gaScGepm02CbOmQdLXY46 MvDzuw0RhJpGwYaqAq09A5W9J0QdnKtLfC8tWs8AdXPrVnstjRaK7LklAgbq ro1uzOacPMeTnLFgwKsob/0I58YTe/1MSQYysyatLupotBSGJfLNGViZfomY 4vwpWu/WaT4D947sNBOyNPKvCEOMjBkIkEwbVnB2DdkiO27AgDK8lPtbNMos 6sx4PAb+A5r9TjQ= "]]}, Annotation[#, "Charting`Private`Tag$8582#1"]& ]}, {}, {}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{5., 1.0000000510204068`}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{5, 6}, {1.0000000510204068`, 1.9999999948377813`}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{{3.7467302627035136`*^9, 3.7467302834688263`*^9}, 3.746730365398427*^9, {3.7467304145491533`*^9, 3.746730433881035*^9}, 3.746731116456382*^9},ExpressionUUID->"af6d2fc9-1e07-4aca-bb2b-\ ac4beda2ad93"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "Try", " ", "to", " ", "plot", " ", "the", " ", "expression", " ", "printed", " ", "above", " ", "on", " ", "another", " ", "interval"}], ";", " ", RowBox[{"the", " ", "result", " ", "is", " ", "clearly", " ", "wrong"}]}], " ", "*)"}]], "Input", CellChangeTimes->{{3.746730500961296*^9, 3.746730537093587*^9}, { 3.7467306479339576`*^9, 3.7467306602936654`*^9}},ExpressionUUID->"9e393757-190b-42b9-81dd-\ 86d4f5403956"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"2.`", "\[VeryThinSpace]", "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "0.2529487179487181`"}], "+", RowBox[{ RowBox[{"(", RowBox[{"0.005897435897435881`", "\[VeryThinSpace]", "-", RowBox[{"0.7529487179487179`", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "5.`"}], "+", "x"}], ")"}]}]}], ",", RowBox[{"{", RowBox[{"x", ",", "2", ",", "3"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.7467302317424717`*^9, 3.7467302797112417`*^9}, { 3.7467303614784436`*^9, 3.7467303639784265`*^9}, {3.7467304290304146`*^9, 3.7467304326677094`*^9}, {3.7467305489166007`*^9, 3.746730552179266*^9}, { 3.746730665925385*^9, 3.746730668103799*^9}, {3.7467311418198643`*^9, 3.746731142496058*^9}},ExpressionUUID->"66909651-13e3-417f-9713-\ 5be0567c01b7"], Cell[BoxData[ GraphicsBox[{{{}, {}, TagBox[ {RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[ 1.], LineBox[CompressedData[" 1:eJwVznk41HkAx/HfnL9QqbTJma/BTOMIYwwpfdZ22CVWB1YeVJKNFEqW0kG0 FNVDJqVjzdMStpRtUI5GpVppIzLYkKP7WCuKmJ3++Dyf5/Xfm2zYtmoTk6Ko lep9fX2n6q+HQif3NhczCZr3jTedUxvryuPyTSVIv+d86lsGhbMmh6xUJhKM BVwTJTMpxPuGtiuMJFDuuRTK5VAQKbptPXQlkNafvzNVk0Ki46b+YE0JvvFO TdebTUEQX+tz8oMjZoR5zxIJKJhn+lt4Vjsi9GCNomE1BU5R7GIHb0eM0TFG v+ymUJ19OKvppRhpMSvmBckolGjIB66miRHd9Pmm7CEF+9VdtdeNxThz5MP0 KZ8o1Cs6PxvXOEDgeutLI48Bktg245mvAwrbKo/d9mIguygnUjUkQkTzf393 xDGQN/lUZZIrQkatZpnPbwycsxH3vXYQ4Z12mMvAfQZCpGf5mR32WOHeF1ky xID0edsX22R7TEYvXtJqxIRhvoZlvbk9Ric7r+svZyJsSHS046EdvPb4KW9G M+Gy5/A9/R12ONU3nH/6NBOhWjURPxvYQVjaNjX7ltr9pwZf3bOFbniO4dv3 TCzcSXUrY2yxPFXatmEuC44lrp6PTG3RkhNvt3ApC+wyA+POvAXwPZIgWraN hT/d92V0fbSBwYu67shcFniHNo55BdnA1aHfakTBwq01l1lZN6xR0Odhdvo1 C90ynvwt3xqqhFbFTh029i7PytkutUIFaxGzzJUNjrAi1VVlifL3g6+nbGZj tNGhPTvGEtMeRMUpjrMRkzFTlN8lRODxuYWXqtkov2Bd0+MhxLsqbkrlABtd PXqr5zTMxz+PH1HmMzmwiO3xjneeD+1VvfxSZw4C31j2JckFkMhnjYSv52Dk +tQr5gsFqJ5GNqUe5iCizFl7azkfBxtik+rKOZD1JnEanfkojilwCuzhoL3K 4IlQbgGd/br5szW4uFtq6uK7xALRu0oLKTsu1h4gL5R/mcM62GStVyAX0uBc /8YfzWF58UlxRQoXeieVs1g9ZkgbjChIuczFqNGSLFa4GZSapm4pnVwMdnwu ixrmIeq4YcY5Fo2AKn+zE+k8hGgN7zBeQGNG71DjkB4POc+1NSr9aGT6hJy/ fcUUdcUrl6btpcFO3HwnztsU7uvDTeQXadTNzK5SDBDoJDRcYLXQQMOnTs5B gh82E6lc7SDJeY2AZIIDaxJ/jXhMw+7fqHV/7Cf4YLMgsqWVxs7x2Ai/JIKm vhN2Be3qnt2fFhXvIji0MuyG21Mal2szZD9tIfhiwmne/5LGscbuhEfeBKLp wfXiVzSGl/KFQi+CLeMV5S/V3t28fuKAJ4GyNTLX5w2N7YNF2uLvCa6lPw4k 72n0swL68twIoocLntcN0xiTdSzbKiYo7J1o3/GRRpEwV3RXRNDT5HdfMELD odh6Gc+ewKtIq/ToKA1/32ctShsCq6DYmJAxGpVhrmfdBQQbPR5snD2u7m89 UyyzIMhz4q+9q/bVssZOypxAQ6dTYjtBg9qa/nslIQAlnt+vdolA97s5JgTx bzP1pZPqfq0IZqwxwaWOF1qeKhrNySkDDw0JBhvcJlRqc6kNb6wMCP4HwD8I mA== "]]}, Annotation[#, "Charting`Private`Tag$8705#1"]& ]}, {}, {}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{None, None}, AxesOrigin->{2., 8.55307711311617}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{2, 3}, {8.55307711311617, 23.141538040764004`}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.7467305530139832`*^9, 3.746730669562743*^9, 3.7467311454391212`*^9},ExpressionUUID->"857e25c4-bc5b-43df-a079-\ 2bffa53af345"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "But", " ", "the", " ", "spline", " ", "can", " ", "be", " ", "correctly", " ", "evaluated", " ", "at", " ", "any", " ", "point", " ", "using", " ", "call", " ", "to", " ", "CS"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.7467276829023705`*^9, 3.7467276942141733`*^9}, { 3.746730727680106*^9, 3.7467307351139836`*^9}, {3.746731173824271*^9, 3.746731181105426*^9}},ExpressionUUID->"1cd84991-da80-450b-b8cd-\ c0b42f05ca17"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "0.5", "]"}]], "Input", CellChangeTimes->{{3.7467277739687834`*^9, 3.74672777492523*^9}},ExpressionUUID->"be264542-cbed-4438-b3b5-\ 0040acee98a3"], Cell[BoxData["0.5832852564102564`"], "Output", CellChangeTimes->{3.746727775715029*^9, 3.746730738069946*^9, 3.746731202536177*^9},ExpressionUUID->"1982a6a1-a402-4642-9eb5-\ bb1660f59545"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "1.0", "]"}]], "Input", CellChangeTimes->{{3.7467277959406433`*^9, 3.746727825147338*^9}},ExpressionUUID->"2073b565-edb7-4d6f-bb1d-\ 3436eccda41e"], Cell[BoxData["0.`"], "Output", CellChangeTimes->{{3.7467277988235903`*^9, 3.7467278256962442`*^9}, 3.7467307392864637`*^9, 3.7467312038216553`*^9},ExpressionUUID->"532da21e-f001-451f-b91c-\ f368cfeded4f"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"CS", "[", "2.5", "]"}]], "Input", CellChangeTimes->{{3.7467278275935555`*^9, 3.746727836570369*^9}},ExpressionUUID->"eb574ba0-75bd-4775-976f-\ 3405a9d86071"], Cell[BoxData["0.4324198717948718`"], "Output", CellChangeTimes->{3.7467278374857426`*^9, 3.7467307406364985`*^9, 3.7467312050535326`*^9},ExpressionUUID->"94aab2ff-a0af-4665-ac4e-\ 8684b94251d0"] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{ "The", " ", "coefficients", " ", "a", " ", "through", " ", "d", " ", "of", " ", "each", " ", "spline", " ", "are", " ", "in", " ", "rows", " ", "1"}], "-", "6"}], ";", " ", RowBox[{ RowBox[{ "the", " ", "1", "st", " ", "entry", " ", "in", " ", "each", " ", "row", " ", "is", " ", "the", " ", "y"}], "-", RowBox[{"coordinate", " ", "of", " ", "a", " ", "point"}]}]}], " ", "*)"}]], "Input", CellChangeTimes->{{3.746524765105195*^9, 3.7465247975735893`*^9}, { 3.7465248382947617`*^9, 3.7465249247818108`*^9}},ExpressionUUID->"153bd036-40f8-4e64-8fa9-\ 60560c196050"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"Print", "[", "\"\<The spline coefficients are\>\"", "]"}], ";"}], " "}], "\[IndentingNewLine]", RowBox[{ RowBox[{"MatrixForm", "[", RowBox[{"Chop", "[", "s", "]"}], "]"}], " "}]}], "Input",ExpressionUUID->\ "878580c6-534a-49fc-842b-c40cf44f63c4"], Cell[BoxData["\<\"The spline coefficients are\"\>"], "Print", CellChangeTimes->{3.58920911619718*^9, 3.7465251018352685`*^9, 3.746729613327287*^9},ExpressionUUID->"2bc3ab92-f01f-45a2-bdd1-\ 4cb78d370095"], Cell[BoxData[ TagBox[ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1.`", RowBox[{"-", "0.19999999999999996`"}], RowBox[{"-", "1.733717948717949`"}], "0.9337179487179489`"}, {"0", RowBox[{"-", "0.8662820512820513`"}], "1.0674358974358975`", RowBox[{"-", "0.20115384615384616`"}]}, {"0", "0.6651282051282051`", "0.46397435897435896`", RowBox[{"-", "0.1291025641025641`"}]}, {"1.`", "1.2057692307692307`", "0.07666666666666667`", RowBox[{"-", "0.2824358974358974`"}]}, {"2.`", "0.5117948717948717`", RowBox[{"-", "0.7706410256410257`"}], "0.25884615384615384`"}, {"2.`", RowBox[{"-", "0.2529487179487181`"}], "0.005897435897435881`", RowBox[{"-", "0.7529487179487179`"}]} }, GridBoxAlignment->{ "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, "RowsIndexed" -> {}}, GridBoxSpacings->{"Columns" -> { Offset[0.27999999999999997`], { Offset[0.7]}, Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> { Offset[0.2], { Offset[0.4]}, Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}], Function[BoxForm`e$, MatrixForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.58920911619718*^9, 3.7465251018352685`*^9, 3.746729613331195*^9},ExpressionUUID->"9d33b8c2-7401-4e31-94d5-\ 14cfddb73a9a"] }, Open ]] }, Open ]], Cell[BoxData[ RowBox[{"(*", " ", RowBox[{ "Compare", " ", "natural", " ", "and", " ", "clamped", " ", "splines"}], " ", "*)"}]], "Input", CellChangeTimes->{{3.5892093852183046`*^9, 3.5892093984685698`*^9}},ExpressionUUID->"8ee8f65b-82cb-4fca-8267-\ a5dc62c1cff9"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Show", "[", RowBox[{"grNatural", ",", " ", "grclamped", ",", "dots", ",", RowBox[{"AxesLabel", "\[Rule]", RowBox[{"{", RowBox[{"\"\<x\>\"", ",", "\"\<y \>\""}], "}"}]}]}], "]"}], " "}]], "Input", CellChangeTimes->{{3.5892094099080653`*^9, 3.5892094786450768`*^9}, 3.5892095384630203`*^9, 3.589209597662655*^9},ExpressionUUID->"f5429684-4c21-46d1-9737-\ 102cd1a86090"], Cell[BoxData[ GraphicsBox[{{{{}, {}, TagBox[ {RGBColor[1, 0, 1], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1: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 "]]}, Annotation[#, "Charting`Private`Tag$3843#1"]& ]}, {}, {}}, {{{}, {}, TagBox[ {RGBColor[0, 1, 0], AbsoluteThickness[1.6], Opacity[1.], LineBox[CompressedData[" 1:eJwV13k8VN8bB/ArshZzxyzJUqkoEUUL3/SckDalIrJXSkglhVIiIdmXlEr2 kgjZQ659RptCigqVZN/NWGd+9/fPzOv9ujP3nnuecz7nnFWnLh49swjDMBr5 8f/v6QMXnhy+6LuTt6Z9nM8fgcDTyusalWzBStro88j8CHwY7nYOU7oAX1Ly FVkzIzCarx/qonQT1F5ZOalOjIAfY0LOWikcaju/Rjd3j0BTnklD9FQknNpA 0AV+jcDpdjV/7tdo2KYRmsz4Sd5//e+Zyvj7EHmpUWG2ZQTesfb/NVFKACvl mvK0mhHI9qQethZKAuGopBgaMQKeIT4vw6eSAHtvIna+dARE8y0cJ76mwFiV pty33BFQWSTZUR7/DBQWpQzGxY/AxSSPBmOlbHDy8Er4cnEEthf8UfJj5kCk bf2Gb04jgJ1ep2cplAvb97Jv19qPQINnbGLoVC6sUO3psDQfAcvEi5ZjX/Pg YfDRQ766I3BjePWn0vgiEN2tcbVi8QicuNrOM6EXw9fsoWsOvGEwWBSlNhRW DNb7d7nNcIZhKYMXvMKnBO4ppkZ1/RuGBN1vu/1PloJ0lkxcIXsYqkJDyw4q VQC9nqYSEjgMFf1t7yUyKkBMZ6hSw3sYyvcqdzRsIEBjMgojLg+D1aKTWOqy StgjVd8We2IYjlXMKa5QqIKxl7ci1bWHYf/WTY7M9TUwyw2dVO4ZAk2l+HER YME4TbmqWX0INn/Rm3PwZcFSplVR+eoh0PDvE6yvYsFfLPhwFHMINv7eSvc3 YMOsnW3zAm8Q1iV83obtbwCqTHBOz/tBkGOIeE+bvoPqX5rpS84MwmJhN5E+ 50bQWC1UcfjOAPTu85GaSG+EWuG1x5quDcDbsFDmQncjtLn8rTNwGQBWcHNM kPonaGGI+s0fHoAQ6nBqfMYnoO1UDXgtMwA0xdW1tU8+A7X0xWuv5/2gtCtM iB7YDJXO5mPJZX2wz+dkQKHZV0irVd5fW/4Piq+d+fn0cweE5AQ8rbb/A22W 59TdPP9AfdJ13fJHPwDfE+ZQhf7BtzfZ+wbEmoHSciZvm9UAaFkoyFo/qgY0 tKvf9NwALNEcC3M9Wg2uwgqKbtcHIL77qEGueDV83t4alfV4AAqOifXnXa+C 6CeGl1b9IK+v0JBvtKsE+lllDQmbQXBNeXrb4WQ5LJ/tfdlhOwQUvVd8s5F8 2C9d93fuwhBc9bN7kn8uH7xUk+VlfIYgqDPmmXdvHny3tQgzSRyCkgXZb9Z/ XkF8TYMLu3MIIk3EfYrLc0Ah7MWGPLLO2A3VN9zmdFi90iUj4NQIdImrHZW/ HAWhHauSwy6NAJqNtdjoGwGc+K9xsb4j4JtXX1IqHwpsGf2gpwnkON/uLpZr HwAu0svP1rWTjpcRVtjmClaCp6P91o9Cu/TL0otVt4inHPxwdfIoLHd+Ih6S mUS0fxk8YJgxCvvSrmywO5tMSBay9rzNHYWBcrGaPYopxNXL3tBEjIJZ/0Mz 89hUYv9o78bfP0dhvDWI4un6jBjuI5YuWj4Gi8TM2kZnM4ntP8+/2xU9BkdV Nwjv2ZRPZK93ozs+GoPKqcKW03fyiTUeHnbhKWNg/sf31/yPfIIi5TPRnjcG +XeULeIDC4g+FCl7pXkM1tzs3/akuZB4lJZ37hltHJY4fXd5a1pCUMaKCt/L jYPy0Wa9xJQSIlC3jD++Zhx2NBl1j46UEG6tNTGwZRxEJmlqEndfEwdEv5R9 OzYOtD2qB1cWlhLz57gSEg/GwcBN4tboZDnhVjJ3bFPiOFCf39n8VOcN0SuE JZmnj0PGv/odbT5viJYnolppxePQ39XBI0QriJeNMta638bhmUF6biiNIGw1 d2RdlJkAxSVMvdXBlUTVrK9Ry+MJeEH//j3LsppokXHjXEydgFRxS//vl6uJ nu32SRKZE6DzH+1YS2g1scRz96Re6QQEwYtXayqqCbMJsfhX3yZgi4PLOj2F GqJ/IHognD4JUyV192621BDz4v6xKvKTMBLOCDbvryGkVNyhfs0k3Dh56tUc v4bQcjSPWdAkPWj57alKLeHTLfufy9FJqN/Qefy2dy1B+5kWvC9iEm7/yM26 JFNHKM3Hav29PwkXUxqDF6vWEdqydzp8Eybh59qMtDM76whbC6fNJS8n4dyx +Q/Bp+qIjC9q7UrvJ0GwbzPb+XkdsfNj0XohsSlYddHmT4RKPXF4KL05kTIF w5qGhiPa9YT9kofe/y2bgnWeGcOy++qJoP3XP7spT4GCk/HRnw71RHM9XPu1 ewqKQ9dtXZRUTzgSbHaF3xQk2IVO/xZlETPaFEWt4CnIvG1o/YvGIoILzK9n RE2By5cbvJyVLCIzo0ftXtIUHPw4taNiG4sYjhGKcaqYgpWZcDzJnkX4SBoN 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 OZvL5zORd7TqUQwbhf8B0rz1jA== "]]}, Annotation[#, "Charting`Private`Tag$6255#1"]& ]}, {}, {}}, {{}, {{}, {RGBColor[1, 0, 0], PointSize[0.02], AbsoluteThickness[1.6], PointBox[{{0., 1.}, {1., 0.}, {2., 0.}, {3., 1.}, {4., 2.}, {5., 2.}, { 6., 1.}}]}, {}}, {}, {}, {{}, {}}, {{}, {}}}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->{True, True}, AxesLabel->{ FormBox["\"x\"", TraditionalForm], FormBox["\"y \"", TraditionalForm]}, AxesOrigin->{0, 0}, DisplayFunction->Identity, Frame->{{False, False}, {False, False}}, FrameLabel->{{None, None}, {None, None}}, FrameTicks->{{Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}, {Automatic, Charting`ScaledFrameTicks[{Identity, Identity}]}}, GridLines->{None, None}, GridLinesStyle->Directive[ GrayLevel[0.5, 0.4]], ImagePadding->All, Method->{ "DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" -> AbsolutePointSize[6], "ScalingFunctions" -> None, "CoordinatesToolOptions" -> {"DisplayFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& ), "CopiedValueFunction" -> ({ (Identity[#]& )[ Part[#, 1]], (Identity[#]& )[ Part[#, 2]]}& )}}, PlotRange->{{0, 6}, {-0.1499998667303279, 2.149999845941364}}, PlotRangeClipping->True, PlotRangePadding->{{ Scaled[0.02], Scaled[0.02]}, { Scaled[0.05], Scaled[0.05]}}, Ticks->{Automatic, Automatic}]], "Output", CellChangeTimes->{3.589209479655096*^9, 3.5892095395771313`*^9, 3.5892095985326633`*^9, 3.746525107367127*^9, 3.746729619924395*^9},ExpressionUUID->"e7ff3f6e-36b7-47dd-8347-\ ba92fc780eaf"], Cell[BoxData[""], "Input", CellChangeTimes->{{3.589209470794919*^9, 3.5892094708149195`*^9}}] }, Open ]] }, AutoGeneratedPackage->None, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{1075, 709}, WindowMargins->{{Automatic, 126}, {Automatic, 9}}, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic}, PrivateNotebookOptions->{"VersionedStylesheet"->{"Default.nb"[8.] -> False}}, ShowCellLabel->True, ShowCellTags->False, FrontEndVersion->"11.1 for Microsoft Windows (64-bit) (April 18, 2017)", StyleDefinitions->"Default.nb", PrivateNotebookOptions -> {"ColorPalette" -> {RGBColor, 128}}, RenderingOptions -> {"ObjectDithering" -> True}, RenderingOptions -> {"RasterDithering" -> False}, CharacterEncoding -> "MacintoshAutomaticEncoding" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[557, 20, 398, 12, 31, "Text", "ExpressionUUID" -> \ "cd724831-38e1-4308-ad37-36c484c620ce"], Cell[958, 34, 19261, 450, 1267, "Input", "ExpressionUUID" -> \ "6f440b21-da19-4709-a408-54171458ecd4"], Cell[20222, 486, 1222, 40, 51, "Text", "ExpressionUUID" -> \ "4c811d63-3064-4b27-bdce-638b3da8ac06", Evaluatable->False], Cell[CellGroupData[{ Cell[21469, 530, 156, 3, 30, "Text", "ExpressionUUID" -> \ "37b1b98f-7d85-4272-bcdd-3463128f7f95"], Cell[CellGroupData[{ Cell[21650, 537, 1955, 61, 145, "Input", "ExpressionUUID" -> \ "f61706f3-badb-45c9-ac88-a317efaa9eeb"], Cell[23608, 600, 10957, 198, 242, "Output", "ExpressionUUID" -> \ "d3d8929d-0a35-4b7f-8232-1bd1fbe3f607"], Cell[34568, 800, 1008, 27, 22, "Print", "ExpressionUUID" -> \ "df12f23a-d393-4e12-9ee7-874a3e07f180"] }, Open ]], Cell[35591, 830, 505, 10, 30, "Input", "ExpressionUUID" -> \ "6bd97704-70d3-4aed-8a15-2e5c45786264"], Cell[CellGroupData[{ Cell[36121, 844, 228, 6, 30, "Input", "ExpressionUUID" -> \ "7bf6ad64-e25a-434e-89c8-438fae5f19a8"], Cell[36352, 852, 1057, 31, 22, "Print", "ExpressionUUID" -> \ "0e70c81a-4316-4a2f-b44f-356ecad6be79"] }, Open ]], Cell[CellGroupData[{ Cell[37446, 888, 402, 9, 30, "Input", "ExpressionUUID" -> \ "83710af8-656e-4f7f-8080-00050daafa45"], Cell[37851, 899, 3294, 72, 236, "Output", "ExpressionUUID" -> \ "5a7387ef-f585-4351-aae5-7b1e36960117"] }, Open ]], Cell[41160, 974, 501, 12, 30, "Input", "ExpressionUUID" -> \ "4052c0c0-929d-4334-9427-82ae1ddb5dc8"], Cell[CellGroupData[{ Cell[41686, 990, 1079, 29, 30, "Input", "ExpressionUUID" -> \ "36b59891-9f09-4e53-b4d2-4fde7f928779"], Cell[42768, 1021, 3245, 71, 238, "Output", "ExpressionUUID" -> \ "3761c738-37a7-4551-a2a0-64b4252dbf9b"] }, Open ]], Cell[46028, 1095, 486, 9, 30, "Input", "ExpressionUUID" -> \ "be243796-c8ed-4d69-a9b7-fee669d3d8b9"], Cell[CellGroupData[{ Cell[46539, 1108, 184, 4, 30, "Input", "ExpressionUUID" -> \ "6065a784-a152-4db8-b11f-d100536a07b0"], Cell[46726, 1114, 171, 3, 30, "Output", "ExpressionUUID" -> \ "edc7183b-94ac-4255-bfd2-2bb8c8dda71d"] }, Open ]], Cell[CellGroupData[{ Cell[46934, 1122, 185, 4, 30, "Input", "ExpressionUUID" -> \ "b123197c-486e-4fdd-86a4-58293b4d017d"], Cell[47122, 1128, 185, 3, 30, "Output", "ExpressionUUID" -> \ "b6556ef4-ce31-4059-a301-2a111437aa27"] }, Open ]], Cell[CellGroupData[{ Cell[47344, 1136, 185, 4, 30, "Input", "ExpressionUUID" -> \ "42d5c7ce-840e-45b2-bb99-bd65887833df"], Cell[47532, 1142, 175, 3, 30, "Output", "ExpressionUUID" -> \ "b625c356-9244-4eef-9f07-bfc4a93ceeb6"] }, Open ]], Cell[47722, 1148, 761, 17, 50, "Input", "ExpressionUUID" -> \ "81949c87-f48a-4385-b683-c339e6006355"], Cell[CellGroupData[{ Cell[48508, 1169, 309, 8, 50, "Input", "ExpressionUUID" -> \ "537aede4-8789-482e-9e47-b2a309a97c1f"], Cell[48820, 1179, 189, 3, 22, "Print", "ExpressionUUID" -> \ "605adbc2-862b-4a21-af06-a6d08f3ce2d2"], Cell[49012, 1184, 1196, 31, 114, "Output", "ExpressionUUID" -> \ "1e0e9d8e-44b4-4aa1-96e6-29f0d46460ac"] }, Open ]] }, Open ]], Cell[50235, 1219, 1433, 47, 70, "Text", "ExpressionUUID" -> \ "7b4f967e-8f16-4435-9b38-9343f7f0c88b", Evaluatable->False], Cell[CellGroupData[{ Cell[51693, 1270, 156, 3, 30, "Text", "ExpressionUUID" -> \ "2d543bea-981d-46be-ac7a-27689148f787"], Cell[CellGroupData[{ Cell[51874, 1277, 2195, 62, 145, "Input", "ExpressionUUID" -> \ "cc813928-f303-4d52-9ee8-a15f02cf71ae"], Cell[54072, 1341, 11029, 200, 242, "Output", "ExpressionUUID" -> \ "299de056-ff08-4ed9-9a56-da25d795ee7b"], Cell[65104, 1543, 10047, 202, 65, "Print", "ExpressionUUID" -> \ "78d86641-93d0-433f-8ce0-5b1d7af1eabb"], Cell[75154, 1747, 917, 26, 22, "Print", "ExpressionUUID" -> \ "1a436257-ec77-45d8-9e6e-820210431ca9"] }, Open ]] }, Open ]], Cell[76098, 1777, 294, 7, 30, "Input", "ExpressionUUID" -> \ "f82456ac-be36-495e-8193-8a37a302e55a"], Cell[CellGroupData[{ Cell[76417, 1788, 235, 6, 30, "Input", "ExpressionUUID" -> \ "bda15792-e9d8-4f58-b847-ee0e49bbb5fa"], Cell[76655, 1796, 173, 3, 30, "Output", "ExpressionUUID" -> \ "8b0da6e9-af63-443f-9828-82ae3148e91f"] }, Open ]], Cell[CellGroupData[{ Cell[76865, 1804, 231, 6, 30, "Input", "ExpressionUUID" -> \ "0062becb-6394-4e7b-80da-59f6acd03a15"], Cell[77099, 1812, 194, 4, 30, "Output", "ExpressionUUID" -> \ "f419eacf-8a6c-444b-95e0-b5c2dd18ec37"] }, Open ]], Cell[CellGroupData[{ Cell[77330, 1821, 288, 7, 30, "Input", "ExpressionUUID" -> \ "7e54ee62-481a-4f9b-a2e5-fbc9527eb270"], Cell[77621, 1830, 173, 3, 30, "Output", "ExpressionUUID" -> \ "b2480ce5-9fcf-4025-bf5e-313b67d8f489"] }, Open ]], Cell[CellGroupData[{ Cell[77831, 1838, 362, 8, 30, "Input", "ExpressionUUID" -> \ "409c562b-3e93-491e-9a6c-4ce5a4f03d4c"], Cell[78196, 1848, 20219, 352, 242, "Output", "ExpressionUUID" -> \ "2a0a3cf3-e647-4c38-92de-a1052c44f5df"] }, Open ]], Cell[98430, 2203, 521, 13, 31, "Text", "ExpressionUUID" -> \ "2b3ad050-0ea1-40e1-91a7-d2c919cb9517", Evaluatable->False], Cell[98954, 2218, 626, 18, 50, "Text", "ExpressionUUID" -> \ "6ee088da-d7b8-405a-b1e9-524267e88992", Evaluatable->False], Cell[99583, 2238, 193, 7, 31, "Text", "ExpressionUUID" -> \ "26e6c4a3-c139-4962-8da8-821f4e9ad16b"], Cell[99779, 2247, 658, 25, 32, "Text", "ExpressionUUID" -> \ "d2e588e9-67bf-4d1e-9da9-0188ef3bc8e4"], Cell[100440, 2274, 23375, 553, 1471, "Input", "ExpressionUUID" -> \ "d5266d14-916a-40f8-a8d3-238967bee298"], Cell[123818, 2829, 1201, 41, 51, "Text", "ExpressionUUID" -> \ "f491220d-2e61-40f0-ad76-9c561e3b43ec", Evaluatable->False], Cell[CellGroupData[{ Cell[125044, 2874, 204, 5, 30, "Text", "ExpressionUUID" -> \ "ddfa33e7-5de3-4384-9428-16789eac8e37", Evaluatable->False], Cell[CellGroupData[{ Cell[125273, 2883, 2127, 65, 145, "Input", "ExpressionUUID" -> \ "7325e453-f97d-4857-a7f4-6a99243aeacd"], Cell[127403, 2950, 12949, 231, 242, "Output", "ExpressionUUID" -> \ "4325be92-aeb2-402c-9405-24bccfe15526"], Cell[140355, 3183, 915, 26, 22, "Print", "ExpressionUUID" -> \ "586b09af-11d5-4691-a722-3db2db8eab6d"] }, Open ]], Cell[141285, 3212, 505, 10, 30, "Input", "ExpressionUUID" -> \ "3cac92b3-a616-4cdd-a05d-c10a6f9d102f"], Cell[CellGroupData[{ Cell[141815, 3226, 228, 6, 30, "Input", "ExpressionUUID" -> \ "cc1b9d78-67d8-481b-87d8-bfe70264798e"], Cell[142046, 3234, 1079, 31, 22, "Print", "ExpressionUUID" -> \ "25732e1b-dfd6-4063-82e3-896dc0e410e0"] }, Open ]], Cell[CellGroupData[{ Cell[143162, 3270, 402, 9, 30, "Input", "ExpressionUUID" -> \ "b49df750-a479-4fcf-b41a-92981bae896b"], Cell[143567, 3281, 3316, 72, 236, "Output", "ExpressionUUID" -> \ "af6d2fc9-1e07-4aca-bb2b-ac4beda2ad93"] }, Open ]], Cell[146898, 3356, 501, 12, 30, "Input", "ExpressionUUID" -> \ "9e393757-190b-42b9-81dd-86d4f5403956"], Cell[CellGroupData[{ Cell[147424, 3372, 1122, 28, 30, "Input", "ExpressionUUID" -> \ "66909651-13e3-417f-9713-5be0567c01b7"], Cell[148549, 3402, 3221, 71, 239, "Output", "ExpressionUUID" -> \ "857e25c4-bc5b-43df-a079-2bffa53af345"] }, Open ]], Cell[151785, 3476, 486, 9, 30, "Input", "ExpressionUUID" -> \ "1cd84991-da80-450b-b8cd-c0b42f05ca17"], Cell[CellGroupData[{ Cell[152296, 3489, 184, 4, 30, "Input", "ExpressionUUID" -> \ "be264542-cbed-4438-b3b5-0040acee98a3"], Cell[152483, 3495, 192, 3, 30, "Output", "ExpressionUUID" -> \ "1982a6a1-a402-4642-9eb5-bb1660f59545"] }, Open ]], Cell[CellGroupData[{ Cell[152712, 3503, 185, 4, 30, "Input", "ExpressionUUID" -> \ "2073b565-edb7-4d6f-bb1d-3436eccda41e"], Cell[152900, 3509, 213, 4, 30, "Output", "ExpressionUUID" -> \ "532da21e-f001-451f-b91c-f368cfeded4f"] }, Open ]], Cell[CellGroupData[{ Cell[153150, 3518, 185, 4, 30, "Input", "ExpressionUUID" -> \ "eb574ba0-75bd-4775-976f-3405a9d86071"], Cell[153338, 3524, 198, 3, 30, "Output", "ExpressionUUID" -> \ "94aab2ff-a0af-4665-ac4e-8684b94251d0"] }, Open ]], Cell[153551, 3530, 683, 17, 50, "Input", "ExpressionUUID" -> \ "153bd036-40f8-4e64-8fa9-60560c196050"], Cell[CellGroupData[{ Cell[154259, 3551, 307, 8, 50, "Input", "ExpressionUUID" -> \ "878580c6-534a-49fc-842b-c40cf44f63c4"], Cell[154569, 3561, 208, 3, 22, "Print", "ExpressionUUID" -> \ "2bc3ab92-f01f-45a2-bdd1-4cb78d370095"], Cell[154780, 3566, 1396, 33, 128, "Output", "ExpressionUUID" -> \ "9d33b8c2-7401-4e31-94d5-14cfddb73a9a"] }, Open ]] }, Open ]], Cell[156203, 3603, 276, 7, 30, "Input", "ExpressionUUID" -> \ "8ee8f65b-82cb-4fca-8267-a5dc62c1cff9"], Cell[CellGroupData[{ Cell[156504, 3614, 439, 11, 30, "Input", "ExpressionUUID" -> \ "f5429684-4c21-46d1-9737-102cd1a86090"], Cell[156946, 3627, 22094, 383, 242, "Output", "ExpressionUUID" -> \ "e7ff3f6e-36b7-47dd-8347-ba92fc780eaf"], Cell[179043, 4012, 94, 1, 30, "Input", "ExpressionUUID" -> \ "9dd919fe-256b-4b0d-b68a-2eaa828db1b2"] }, Open ]] } ] *)