Newton Interpolation
Newton Interpolation
Question 1)
In[6]:= X = {- 1, 0, 1, 2};
Y = {5, 1, 1, 11};
n = 3;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
5 - 4 (1 + x) + 2 x (1 + x) + (- 1 + x) x (1 + x)
Out[15]=
1 - 3 x + 2 x2 + x3
Question 2)
In[16]:= X = {0, 1, 3};
Y = {1, 3, 55};
n = 2;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
1 + 2 x + 8 (- 1 + x) x
Out[25]=
1 - 6 x + 8 x2
2
Question 3)
In[76]:= X = {0.5, 1.5, 3.0, 5.0, 6.5, 8.0};
Y = {1.625, 5.875, 31.0, 131.0, 282.125, 521.0};
n = 5;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
1.625 + 4.25 (- 0.5 + x) + 5. (- 1.5 + x) (- 0.5 + x) + 1. (- 3. + x) (- 1.5 + x) (- 0.5 + x)
Out[85]=
1. + 1. x + 1. x3
Question 4)
In[26]:= X = {- 2, - 1, 0, 1, 3, 4};
Y = {9, 16, 17, 18, 44, 81};
n = 5;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
9 + 7 (2 + x) - 3 (1 + x) (2 + x) + x (1 + x) (2 + x)
Out[35]=
17 + x3
3
Question 5)
In[36]:= X = {1, 3, 4, 5, 7, 10};
Y = {3, 31, 69, 131, 351, 1011};
n = 5;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
3 + 14 (- 1 + x) + 8 (- 3 + x) (- 1 + x) + (- 4 + x) (- 3 + x) (- 1 + x)
Out[45]=
1 + x + x3
Question 6)
In[46]:= X = {0, 1, 2, 4, 5, 6};
Y = {1, 14, 15, 5, 6, 19};
n = 5;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
1 + 13 x - 6 (- 1 + x) x + (- 2 + x) (- 1 + x) x
Out[55]=
1 + 21 x - 9 x2 + x3
4
Question 7)
In[56]:= X = {- 1, 1, 4, 7};
Y = {- 2, 0, 63, 342};
n = 3;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
-1 + x + 4 (- 1 + x) (1 + x) + (- 4 + x) (- 1 + x) (1 + x)
Out[65]=
-1 + x3
Question 8)
In[66]:= X = {- 1, 2, 4, 5};
Y = {- 5, 13, 255, 625};
n = 3;
d = Table["x", {n + 1}, {n + 1}];
d〚All, 1〛 = Y〚All〛;
Forj = 1, j ≤ n, j ++,
Fork = j, k ≤ n, k ++,
dk + 1, j + 1 = dk + 1, j - dk, j X〚k + 1〛 - Xk + 1 - j;;
Fork = 0, k ≤ n, k ++,
p[k + 1, x_] = Productx - Xj, j, 1, k;
a = Sum[d〚k + 1, k + 1〛 * p[k + 1, x], {k, 0, n}];
Print[a]
Simplify[a]
-5 + 6 (1 + x) + 23 (- 2 + x) (1 + x) + 10 (- 4 + x) (- 2 + x) (1 + x)
Out[75]=
35 + 3 x - 27 x2 + 10 x3