-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInterpolationHomework.nb
2119 lines (2046 loc) · 85.2 KB
/
InterpolationHomework.nb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy='Mathematica 11.0' *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 85015, 2111]
NotebookOptionsPosition[ 82151, 2012]
NotebookOutlinePosition[ 82527, 2028]
CellTagsIndexPosition[ 82484, 2025]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[CellGroupData[{
Cell[TextData[{
"Interpolation with Newton Divided Difference and Lagrange Polynomials\n",
StyleBox["Jacob Russell", "Subchapter"]
}], "Section",
CellChangeTimes->{{3.7280666985702024`*^9, 3.7280667575200377`*^9}, {
3.7282597716100764`*^9, 3.7282597780347834`*^9}}],
Cell[BoxData[
RowBox[{"(*", " ", "Modules", " ", "*)"}]], "Input",
CellChangeTimes->{{3.728066760030818*^9, 3.7280667671929026`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"lagrange", "[",
RowBox[{"dataPoints_", ",", "x_"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{"n", " ", "=", " ",
RowBox[{"Length", "[", "dataPoints", "]"}]}], "}"}], ",",
"\[IndentingNewLine]",
RowBox[{
RowBox[{"Return", "[",
RowBox[{
UnderoverscriptBox["\[Sum]",
RowBox[{"j", "=", "1"}], "n"],
RowBox[{"(",
RowBox[{
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"j", ",", "2"}], "\[RightDoubleBracket]"}], "*",
RowBox[{"(",
RowBox[{
UnderoverscriptBox["\[Product]",
RowBox[{"k", "=", "1"}],
RowBox[{"j", "-", "1"}]],
FractionBox[
RowBox[{"x", " ", "-", " ",
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]}],
RowBox[{
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"j", ",", "1"}], "\[RightDoubleBracket]"}], "-",
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]}]]}], ")"}],
"*",
RowBox[{"(",
RowBox[{
UnderoverscriptBox["\[Product]",
RowBox[{"k", "=",
RowBox[{"j", "+", "1"}]}], "n"],
FractionBox[
RowBox[{"x", " ", "-", " ",
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]}],
RowBox[{
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"j", ",", "1"}], "\[RightDoubleBracket]"}], "-",
RowBox[{"dataPoints", "\[LeftDoubleBracket]",
RowBox[{"k", ",", "1"}], "\[RightDoubleBracket]"}]}]]}],
")"}]}], ")"}]}], "]"}], ";"}]}], "\[IndentingNewLine]",
"]"}]}]], "Input",
CellChangeTimes->{{3.7275491259100957`*^9, 3.727549282461749*^9}, {
3.727549458330334*^9, 3.727549619963496*^9}, {3.727549735083007*^9,
3.727549735794078*^9}, {3.727550206288122*^9, 3.7275502112796216`*^9}, {
3.727550380093501*^9, 3.727550381621654*^9}, {3.728066784967515*^9,
3.7280667865436335`*^9}, {3.728066904360431*^9, 3.728066905671362*^9}},
ExpressionUUID -> "04bfde26-3393-43a2-a4d9-51ec3ef0013e"],
Cell[BoxData[
RowBox[{
RowBox[{"dividedDifference", "[",
RowBox[{"XY_", ",", "x_"}], "]"}], ":=",
RowBox[{"Module", "[",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"X", "=",
RowBox[{"XY", "\[LeftDoubleBracket]",
RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}]}], ",", " ",
RowBox[{"Y", "=",
RowBox[{"XY", "\[LeftDoubleBracket]",
RowBox[{"All", ",", "2"}], "\[RightDoubleBracket]"}]}], ",", "n", ",",
"ddTable"}], "}"}], ",", "\[IndentingNewLine]",
RowBox[{
RowBox[{"n", " ", "=", " ",
RowBox[{"Length", "[", "X", "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{"ddTable", " ", "=", " ",
RowBox[{"Table", "[",
RowBox[{"0", ",",
RowBox[{"{", "n", "}"}], ",",
RowBox[{"{", "n", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]",
RowBox[{
RowBox[{"ddTable", "\[LeftDoubleBracket]",
RowBox[{"All", ",", "1"}], "\[RightDoubleBracket]"}], "=",
RowBox[{"Y", "\[LeftDoubleBracket]", "All", "\[RightDoubleBracket]"}]}],
";", "\[IndentingNewLine]",
RowBox[{"Do", "[",
RowBox[{
RowBox[{
RowBox[{"ddTable", "\[LeftDoubleBracket]",
RowBox[{"k", ",", "j"}], "\[RightDoubleBracket]"}], "=",
FractionBox[
RowBox[{
RowBox[{"ddTable", "\[LeftDoubleBracket]",
RowBox[{"k", ",",
RowBox[{"j", "-", "1"}]}], "\[RightDoubleBracket]"}], "-",
RowBox[{"ddTable", "\[LeftDoubleBracket]",
RowBox[{
RowBox[{"k", "-", "1"}], ",",
RowBox[{"j", "-", "1"}]}], "\[RightDoubleBracket]"}]}],
RowBox[{
RowBox[{"X", "\[LeftDoubleBracket]", "k", "\[RightDoubleBracket]"}],
"-",
RowBox[{"X", "\[LeftDoubleBracket]",
RowBox[{"k", "-", "j", "+", "1"}], "\[RightDoubleBracket]"}]}]]}],
",",
RowBox[{"{",
RowBox[{"j", ",", "2", ",", "n"}], "}"}], ",",
RowBox[{"{",
RowBox[{"k", ",", "j", ",", "n"}], "}"}]}], "]"}], ";",
"\[IndentingNewLine]",
RowBox[{"Return", "[",
RowBox[{
UnderoverscriptBox["\[Sum]",
RowBox[{"t", "=", "1"}], "n"],
RowBox[{
RowBox[{"ddTable", "\[LeftDoubleBracket]",
RowBox[{"t", ",", "t"}], "\[RightDoubleBracket]"}], "*",
RowBox[{
UnderoverscriptBox["\[Product]",
RowBox[{"i", "=", "1"}],
RowBox[{"t", "-", "1"}]],
RowBox[{"(",
RowBox[{"x", "-",
RowBox[{
"X", "\[LeftDoubleBracket]", "i", "\[RightDoubleBracket]"}]}],
")"}]}]}]}], "]"}]}]}], "\[IndentingNewLine]", "]"}]}]], "Input",
CellChangeTimes->{{3.7280423565638285`*^9, 3.728042408130985*^9}, {
3.7280424472218933`*^9, 3.728042742806449*^9}, {3.7280427883280005`*^9,
3.7280430029124565`*^9}, {3.7280430369138565`*^9, 3.7280430486910343`*^9}, {
3.7280431520623703`*^9, 3.7280432458307467`*^9}, {3.7280433876049223`*^9,
3.7280433890450664`*^9}, {3.7280434465718184`*^9, 3.7280434552436857`*^9}, {
3.7280434984000006`*^9, 3.728043506784839*^9}, {3.7280437727474327`*^9,
3.7280437734515033`*^9}},
ExpressionUUID -> "a73faf7b-931f-4a58-bb78-076bc7abe6f0"]
}, Open ]],
Cell[CellGroupData[{
Cell["\<\
1) Interpolate through the following points using the Lagrange Interpolating \
Polynomial.\
\>", "Section",
CellChangeTimes->{{3.7280668643450375`*^9, 3.728066864808365*^9}, {
3.7282598335875463`*^9, 3.728259852968031*^9}}],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Define", " ", "given", " ", "points"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7280671982500067`*^9, 3.7280672039690547`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"interpolatingPoints", " ", "=", " ",
RowBox[{"List", "[",
RowBox[{
RowBox[{"{",
RowBox[{"1.`", ",", "0.`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"2.`", ",", "1.88416938536372`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"3.`", ",", "4.9236386866629545`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"4.`", ",", "10.243406803946097`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"5.`", ",", "19.60696764835563`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"6.`", ",", "35.98845097665124`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"7.`", ",", "64.43969405697302`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"8.`", ",", "113.53366127778843`"}], "}"}]}], "]"}]}],
";"}]], "Input",
CellChangeTimes->{{3.7280668708246326`*^9, 3.7280668913411965`*^9}}],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Interpolating", " ", "using", " ", "Lagrange"}], " ",
"*)"}]], "Input",
CellChangeTimes->{{3.7280672269864054`*^9, 3.7280672304398384`*^9}, {
3.72806756501728*^9, 3.7280675687659454`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"lagrange", "[",
RowBox[{"interpolatingPoints", ",", "x"}], "]"}]], "Input",
CellChangeTimes->{{3.7280669742120204`*^9, 3.728067008133075*^9}}],
Cell[BoxData[
RowBox[{"0.`", "\[VeryThinSpace]", "+",
RowBox[{"0.0026169019241162775`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "-",
RowBox[{"0.020515161194428977`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "+",
RowBox[{"0.0711347694718479`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "-",
RowBox[{"0.1361594975580252`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "+",
RowBox[{"0.14995187906938015`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "-",
RowBox[{"0.08949957507912919`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "8.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}], "+",
RowBox[{"0.02252652009479929`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "7.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "6.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "5.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}]}]}]], "Output",
CellChangeTimes->{3.7283273468756437`*^9, 3.728327493339131*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{"Simplify", "[", "%54", "]"}]], "Input",
NumberMarks->False],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{
"Here", " ", "we", " ", "see", " ", "the", " ", "interpolating", " ",
"polynomial"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.728327504645671*^9, 3.7283275127911105`*^9}}],
Cell[BoxData[
RowBox[{
RowBox[{"-", "1.7740004736093056`"}], "+",
RowBox[{"2.197001626217798`", " ", "x"}], "-",
RowBox[{"0.7569894935113552`", " ",
SuperscriptBox["x", "2"]}], "+",
RowBox[{"0.4036102452397472`", " ",
SuperscriptBox["x", "3"]}], "-",
RowBox[{"0.08266905646030409`", " ",
SuperscriptBox["x", "4"]}], "+",
RowBox[{"0.014145117639593252`", " ",
SuperscriptBox["x", "5"]}], "-",
RowBox[{"0.0011538022451864638`", " ",
SuperscriptBox["x", "6"]}], "+",
RowBox[{"0.000055836728560243465`", " ",
SuperscriptBox["x", "7"]}]}]], "Output",
CellChangeTimes->{3.728327348791268*^9, 3.728327493352666*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{"Plot", "[",
RowBox[{
RowBox[{
RowBox[{"-", "1.7740004736093056`"}], "+",
RowBox[{"2.197001626217798`", " ", "x"}], "-",
RowBox[{"0.7569894935113552`", " ",
SuperscriptBox["x", "2"]}], "+",
RowBox[{"0.4036102452397472`", " ",
SuperscriptBox["x", "3"]}], "-",
RowBox[{"0.08266905646030409`", " ",
SuperscriptBox["x", "4"]}], "+",
RowBox[{"0.014145117639593252`", " ",
SuperscriptBox["x", "5"]}], "-",
RowBox[{"0.0011538022451864638`", " ",
SuperscriptBox["x", "6"]}], "+",
RowBox[{"0.000055836728560243465`", " ",
SuperscriptBox["x", "7"]}]}], ",",
RowBox[{"{",
RowBox[{"x", ",", "1", ",", "8"}], "}"}]}], "]"}]], "Input",
CellChangeTimes->{{3.728327368349501*^9, 3.728327379881155*^9}, {
3.728327665204641*^9, 3.7283276688288045`*^9}},
NumberMarks->False],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Plotting", " ", "for", " ", "clarity"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7283276816733217`*^9, 3.7283276854272957`*^9}}],
Cell[BoxData[
GraphicsBox[{{{}, {},
TagBox[
{RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[
1.], LineBox[CompressedData["
1:eJwVjHs0lAkAxQdJEz3GK8J8Gu9nD1pp5LshhZqNLZmHLZZUKo5D226xaNds
02w4xqO8hSY5DrEUspGiyEoqwpyyxSqPUZMmmuzsH/fcc8/53d+60KiAcFUK
hbJHmf87isa2pFCkJKXf0EfhlOp+VrPVv2uZlIw/P8bcUXScFKjbxGfRpKSp
6sfS50VnyfLP8if2ZlJyhtew5VCJkJS8yklie0tJ6R+VDTfL8kjWjYHhG0Ip
yV4eMThaWUk6fheUEW44S6bcjBDeb24mp0QHKF2b3pO+9pmagtFuUuAXWT4p
kpFx5IfcaIGEfBDlllfYM0daP6q6lKU/TiZ4/vunhUJOHhy6G9VEnyEDfK/l
qnIXyJFq2ptWWxnZ2WL1ODpNQS76OAjdW+Qk73BT3+aPi2R7x/e+zVpfyVqJ
7pfDVipwFCcl2vergNpaUb9AqkLa5q1SXroEM25+z5nRarg6EXE1aUYD5VEP
C72ES6Aaf6GL6qEJg/lv5utL1CFM9Sxxv7cShvSqxv7epcgh3RNjYmh4J1cz
a3qrgUf5V5KH+TrYfSJsdrcxFVMNL/3r5vVwxPWG/65dy5XeY+2V2QbY3yxh
ax1Semd3hmQxjdA3oNd5JlULLdlTWw8E0mFaaSeprViB6rCcf6Jvm0JhsJuT
PbISdXdO2sZlMdA1be8co74aDS5B64pTzZFob7ZKkb4ap37K/Rx+0RKKenp+
sC0Nvy4YHB8es8ZoHvWXkps0tEypbZn0tkOZ4zsbYy9tiPovjNK7HLB+RR8/
ckgbfX/zO3QPbQBjp9i18IgOYmI/5T6WbMTwo3MFYhVddEYtdThV5IRYSmD3
WLYuGp1vD1ETNyPu4hoW1VwPCZL3fKcwF2w7KklWadYDI6OO0ZTnipOFIk2J
jz7qNjGs+UNMnE3aHjzTr4+CfN+nl5juCKj+EPIscg0exjpvuJYMpG3NbCyW
r4FlWU/O+NvtyKK53fdIN0CWRk/c5XRPqHv1WXQShji5KCqedtsBf8ZBVvJ1
Q/ByxkWvKTsRvmfWRttzLdI2B65W0fHBqycx7JTetfj92NcBhq0fLK5+ZvYe
NUJNdGR/Qf4eeFv+OM6iGMORErLxhfFe9FJej9UIjbGsa5Ms7YQ/GNaBl96a
m0D3vuwvd3kAhisaCjVqTUDEezRfT9mH2MFVUWx3OnpqZQq+XSCe7Dsxm/iU
jge/icQVBkHItWvsEIYSKBSwYlqpHAxPxIpUwwkcSHnq0qbNgbF4fcjpCAI6
+h0L94w4yDMvm//hOIFzmd3JzxyU2yTNgXmKgP2ZUrFRAAcFqw5nTJwnMNFV
7OiSy0HRB9pB7xoC7Z1ircb1XLys6bZrriWwawuVb+zKhWk0X76xnkClXwKR
7MFF0eSXdJMmAt57q6sC93NR/Ga8XdZOYPmcINTiDBclz2/bXhkg8G3ekBqn
g4vRzNOfDIYIsN8HDk73csHY59R+cYTAZSunkZQXSr5XHPzzKAETln3snSku
rjzISPOfJJDovPQLW5eH13xWcMc0gVuyYyHL6DyYe1Ntt80SKF8bp7hlxUNp
W8Jd6zkCnOniEUumkk90TSuQEygRDZqNeil5UsbTXSDwKf1laRGLhzBFlY1A
QSBhQ1tIaJDy33R0bnFR6dcScK1CefgPeB4wFA==
"]]},
Annotation[#, "Charting`Private`Tag$18313#1"]& ]}, {}, {}},
AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948],
Axes->{True, True},
AxesLabel->{None, None},
AxesOrigin->{1., 0},
DisplayFunction->Identity,
Frame->{{False, False}, {False, False}},
FrameLabel->{{None, None}, {None, None}},
FrameTicks->{{Automatic, Automatic}, {Automatic, Automatic}},
GridLines->{None, None},
GridLinesStyle->Directive[
GrayLevel[0.5, 0.4]],
ImagePadding->All,
Method->{
"DefaultBoundaryStyle" -> Automatic, "DefaultMeshStyle" ->
AbsolutePointSize[6], "ScalingFunctions" -> None,
"CoordinatesToolOptions" -> {"DisplayFunction" -> ({
(Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[
Part[#, 1]],
(Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[
Part[#, 2]]}& ), "CopiedValueFunction" -> ({
(Part[{{Identity, Identity}, {Identity, Identity}}, 1, 2][#]& )[
Part[#, 1]],
(Part[{{Identity, Identity}, {Identity, Identity}}, 2, 2][#]& )[
Part[#, 2]]}& )}},
PlotRange->{{1, 8}, {0., 113.53365219575325`}},
PlotRangeClipping->True,
PlotRangePadding->{{
Scaled[0.02],
Scaled[0.02]}, {
Scaled[0.05],
Scaled[0.05]}},
Ticks->{Automatic, Automatic}]], "Output",
CellChangeTimes->{3.728327669564253*^9}]
}, Open ]],
Cell["\<\
Evaluating the function at x = 110 would not be advisable because we would \
venture into the realm
of extrapolation, rather than interpolation.\
\>", "Text",
CellChangeTimes->{{3.7280672605962477`*^9, 3.728067308213037*^9}}]
}, Open ]],
Cell[CellGroupData[{
Cell["\<\
2) Given r(x), interpolate r(x) for x=0 to 5 with step size 0.5.\
\>", "Section",
CellChangeTimes->{{3.7280673125691385`*^9, 3.7280673132566175`*^9}, {
3.7282599267826605`*^9, 3.7282599686163235`*^9}}],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Defining", " ", "given", " ", "points"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7280675426494026`*^9, 3.728067550354872*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"interpolatingPoints2", " ", "=", " ",
RowBox[{"Table", "[",
RowBox[{
RowBox[{"{",
RowBox[{"x", ",", " ",
RowBox[{"Cos", "[",
RowBox[{"Cos", "[", "x", "]"}], "]"}]}], "}"}], ",", " ",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "5", ",", ".5"}], "}"}]}], "]"}]}]], "Input",
CellChangeTimes->{{3.728067357740181*^9, 3.7280674399005103`*^9}, {
3.72806748250373*^9, 3.728067520219493*^9}, 3.728067596336507*^9}],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"0.`", ",", "0.5403023058681398`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"0.5`", ",", "0.6390124941652592`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"1.`", ",", "0.8575532158463933`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"1.5`", ",", "0.997499167206586`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"2.`", ",", "0.9146533258523714`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"2.5`", ",", "0.695885874351592`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"3.`", ",", "0.5486961336030971`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"3.5`", ",", "0.5926457475145044`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"4.`", ",", "0.7938734492261525`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"4.5`", ",", "0.9778647127801444`"}], "}"}], ",",
RowBox[{"{",
RowBox[{"5.`", ",", "0.9600369302946615`"}], "}"}]}], "}"}]], "Output",
CellChangeTimes->{3.7280675968578777`*^9, 3.7283269031554265`*^9,
3.728327493419711*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{
"Interpolating", " ", "using", " ", "Newton", " ", "Divided", " ",
"Difference"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7280675527205524`*^9, 3.7280675614167223`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"dividedDifference", "[",
RowBox[{"interpolatingPoints2", ",", "x"}], "]"}]], "Input",
CellChangeTimes->{{3.7280675794004855`*^9, 3.7280675860091734`*^9}}],
Cell[BoxData[
RowBox[{"0.5403023058681398`", "\[VeryThinSpace]", "+",
RowBox[{"0.19742037659423883`", " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.23966106676802945`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "-",
RowBox[{"0.2645670716066082`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.03615218754099345`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.04715704630661828`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "-",
RowBox[{"0.025535732469344076`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.004803764865731689`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.0003305529438091474`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "-",
RowBox[{"0.0005052544832298644`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}], "+",
RowBox[{"0.00021686729523518104`", " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "4.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "3.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "2.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "1.`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"-", "0.5`"}], "+", "x"}], ")"}], " ",
RowBox[{"(",
RowBox[{"0.`", "\[VeryThinSpace]", "+", "x"}], ")"}]}]}]], "Output",
CellChangeTimes->{3.7280675871009483`*^9, 3.728326903183446*^9,
3.728327493448679*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Interpolating", " ", "polynomial"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7280676190986586`*^9, 3.7280676257173786`*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Simplify", "[", "%16", "]"}]], "Input",
NumberMarks->False],
Cell[BoxData[
RowBox[{"0.5403023058681398`", "\[VeryThinSpace]", "-",
RowBox[{"0.10756871105849922`", " ", "x"}], "+",
RowBox[{"1.1087988755065588`", " ",
SuperscriptBox["x", "2"]}], "-",
RowBox[{"1.809694582824553`", " ",
SuperscriptBox["x", "3"]}], "+",
RowBox[{"2.470818947458502`", " ",
SuperscriptBox["x", "4"]}], "-",
RowBox[{"2.166292595945455`", " ",
SuperscriptBox["x", "5"]}], "+",
RowBox[{"1.0947288136219182`", " ",
SuperscriptBox["x", "6"]}], "-",
RowBox[{"0.32496570580503054`", " ",
SuperscriptBox["x", "7"]}], "+",
RowBox[{"0.05659377035559859`", " ",
SuperscriptBox["x", "8"]}], "-",
RowBox[{"0.005384768626021437`", " ",
SuperscriptBox["x", "9"]}], "+",
RowBox[{"0.00021686729523518104`", " ",
SuperscriptBox["x", "10"]}]}]], "Output",
CellChangeTimes->{3.7280675887171116`*^9, 3.728326903599825*^9,
3.7283274934786696`*^9}]
}, Open ]],
Cell[BoxData[
RowBox[{"(*", " ",
RowBox[{"Plotting", " ", "for", " ", "clarity"}], " ", "*)"}]], "Input",
CellChangeTimes->{{3.7283277795955524`*^9, 3.728327783451926*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Plot", "[",
RowBox[{"%75", ",",
RowBox[{"{",
RowBox[{"x", ",", "0", ",", "5"}], "}"}]}], "]"}]], "Input",
CellChangeTimes->{{3.72832773923589*^9, 3.728327761085156*^9}},
NumberMarks->False],
Cell[BoxData[
GraphicsBox[{{{}, {},
TagBox[
{RGBColor[0.368417, 0.506779, 0.709798], AbsoluteThickness[1.6], Opacity[
1.], LineBox[CompressedData["
1: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