PRACTICAL Merged
PRACTICAL Merged
In[29]:= ClearAll
a1 = 1; b1 = 2; f[x_] = x ^ 3 + 2 x ^ 2 - 3 x - 1; nmax = 10; tol
Fori = 1, i ≤ nmax, i ++,
p1 = (a1 + b1) 2;
If[f[a1] * f[p1] < 0, b1 = p1,
a1 = p1] ×
IfAbs(b1 - a1) 2 < tol, Break[] ×
Print"Approximate Root of f=", N[p1];
Print"Number of Iteration=", i - 1;
Out[29]=
ClearAll
Out[30]=
tol
NEWTON-RAPSON METHOD
In[33]:= ClearAll;
f[x_] := x ^ 2 - 2;
h[x_] = D[f[x], x];
pold = 1;
Fori = 1, i ≤ 20, i ++,
pnew = pold - f[pold] h[pold];
Print"Approximate Root =", N[pold];
pold = pnew;
In[42]:= f[x_] := x ^ 3 + x ^ 2 - 3 x - 3;
h[x_] = D[f[x], x];
pold = - 2;
Approximate Root =- 2.
Cloud: This computation has exceeded the time limit for your plan.
Out[45]=
$Aborted
In[61]:= ClearAll;
f[x_] := x ^ 3 + x ^ 2 - 3 x - 3;
h[x_] = D[f[x], x];
pold = 1;
tol = 0.0001;
maxiteration = 20;
Fori = 1, i ≤ maxiteration, i ++,
pnew = pold - f[pold] h[pold];
Print"Approximate Root =", N[pold];
pold = pnew;
If[Abs[pold - sqrt[3]] ≤ tol, Break[]];
Print"No. of iteration=", i
5
No. of iteration=1
Approximate Root =3.
No. of iteration=2
Approximate Root =2.2
No. of iteration=3
Approximate Root =1.83015
No. of iteration=4
Approximate Root =1.7378
No. of iteration=5
Approximate Root =1.73207
No. of iteration=6
Approximate Root =1.73205
No. of iteration=7
Approximate Root =1.73205
No. of iteration=8
Approximate Root =1.73205
No. of iteration=9
Approximate Root =1.73205
No. of iteration=10
Approximate Root =1.73205
No. of iteration=11
Approximate Root =1.73205
No. of iteration=12
Approximate Root =1.73205
No. of iteration=13
Approximate Root =1.73205
No. of iteration=14
Approximate Root =1.73205
No. of iteration=15
Approximate Root =1.73205
No. of iteration=16
6
LU DECOMPOSITION METHOD
In[51]:=
ClearAll;
A = 2, 7, 5, 6, 20, 10, 4, 3, 0;
b = 0, 4, 1;
lu, p, c = LUDecomposition[A];
d = DiagonalMatrix[Diagonal[lu]];
l = LowerTriangularize[lu] - d + IdentityMatrix[3];
u = UpperTriangularize[lu];
l.u;
(*Ax=b, lux=b, ux=y,ly=b*)
y = Inverse[l].b;
x = Inverse[u].y;
Print"Exact Solution:", x
1 7 43
Exact Solution:- , , -
3 9 45
In[62]:= d
Out[62]=
In[64]:= l
Out[64]=
{{1, 0, 0}, {3, 1, 0}, {2, 11, 1}}
In[66]:= lu
Out[66]=
In[67]:= ClearAll;
A = 1, 1, 2, - 1, 0, 2, 3, 2, - 1;
b = 3, - 1, 4;
lu, p, c = LUDecomposition[A];
d = DiagonalMatrix[Diagonal[lu]];
l = LowerTriangularize[lu] - d + IdentityMatrix[3];
u = UpperTriangularize[lu];
l.u;
(*Ax=b, lux=b, ux=y,ly=b*)
y = Inverse[l].b;
x = Inverse[u].y;
Print"Exact Solution:", x
Exact Solution:{3, - 2, 1}
In[43]:=
Syntax: "For i = 1, i ≤ n - 1, i ++, ndd1[[i]] = y[[i + 1]] - y[[i]] x[[i + 1]] - x[[i]] " is incomplete; more input is
needed.
SECANT METHOD
PRACTICAL 3 SECANT METHOD
In[21]:= ClearAll;
f[x_] := x ^ 3 + x ^ 2 - 3 x - 3;
(*Roots[x^3+x^2-3x-3⩵0,x]*)
n = 10;
p = Table[0, {n}];
p[[0]] = 1;
p[[1]] = 2;
Fori = 1, i ≤ n, i ++,
p[[i + 1]] = p[[i]] - f[p[[i]]] p[[i]] - p[[i - 1]] f[p[[i]]] - f[p[[i - 1]]];
Print["Approximate Roots=", N[p[[i]]]]
Approximate Roots=2.
Approximate Roots=1.57143
Approximate Roots=1.70541
Approximate Roots=1.73514
Approximate Roots=1.732
Approximate Roots=1.73205
Approximate Roots=1.73205
Approximate Roots=1.73205
Approximate Roots=1.73205
Approximate Roots=1.73205
In[35]:= ClearAll;
f[x_] := x ^ 3 + 2 x ^ 2 - 3 x - 1;
(*Roots[x^3+2x^2-3x-1==0,x]*)
n = 10;
p = Table[0, {n}];
p[[0]] = 2;
p[[1]] = 1;
Fori = 1, i ≤ n, i ++,
p[[i + 1]] = p[[i]] - f[p[[i]]] p[[i]] - p[[i - 1]] f[p[[i]]] - f[p[[i - 1]]];
Print["Approximate Roots=", N[p[[i]]]]
2 manyap3.nb
Approximate Roots=1.
Approximate Roots=1.1
Approximate Roots=1.22173
Approximate Roots=1.19649
Approximate Roots=1.19865
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
In[42]:= ClearAll;
f[x_] := x ^ 3 + 2 x ^ 2 - 3 x - 1;
(*Roots[x^3+2x^2-3x-1==0,x]*)
n = 10;
p = Table[0, {n}];
p[[0]] = 2;
p[[1]] = 1;
Fori = 1, i ≤ n, i ++,
p[[i + 1]] =
p[[i - 1]] × f[p[[i]]] - p[[i]] × f[p[[i - 1]]] f[p[[i]]] - f[p[[i - 1]]];
Print["Approximate Roots=", N[p[[i]]]]
Approximate Roots=1.
Approximate Roots=1.1
Approximate Roots=1.22173
Approximate Roots=1.19649
Approximate Roots=1.19865
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
Approximate Roots=1.19869
SECANT-SIMPLE
manyap3.nb 3
In[61]:= ClearAll;
f[x_] := x ^ 3 + x ^ 2 - 3 x - 3;
p0 = 1; (*First Approximation*)
p1 = 2; (*Second Approximation*)
Fori = 1, i ≤ 7, i ++,
p2 = p1 - f[p1] p1 - p0 f[p1] - f[p0];
Print["Approximate Roots=", N[p2]];
p0 = p1;
p1 = p2;
Approximate Roots=1.57143
Approximate Roots=1.70541
Approximate Roots=1.73514
Approximate Roots=1.732
Approximate Roots=1.73205
Approximate Roots=1.73205
Approximate Roots=1.73205
GAUSS-JACOBI METHOD METHOD
PRACTICAL 5 GAUSS-JACOBI
ClearAll;
A = {{2, - 1, 0}, {- 1, 4, 2}, {0, 2, 6}};
b = {- 1, 3, 5};
d = DiagonalMatrix[Diagonal[A]];
l = LowerTriangularize[A] - d;
u = UpperTriangularize[A] - d;
t = - Inverse[d].l + u;
c = Inverse[d].b;
n = 10;
xold = {0, 0, 0};
For[i = 1, i ≤ n, i ++,
xnew = t.xold + c;
Print["Approximate value:", N[xnew]];
xold = xnew;]
Approximate value:{-0.5, 0.75, 0.833333}
In[ ]:= A
Out[ ]= {{2, - 1, 0}, {- 1, 4, 2}, {0, 2, 6}}
In[ ]:= b
Out[ ]= {- 1, 3, 5}
In[ ]:= d
Out[ ]= {{2, 0, 0}, {0, 4, 0}, {0, 0, 6}}
In[ ]:= l
Out[ ]= {{0, 0, 0}, {- 1, 0, 0}, {0, 2, 0}}
In[ ]:= u
Out[ ]= {{0, - 1, 0}, {0, 0, 2}, {0, 0, 0}}
In[ ]:= t
1 1 1 1
Out[ ]= 0, , 0, , 0, - , 0, - , 0
2 4 2 3
2 manyap5.nb
In[ ]:= c
1 3 5
Out[ ]= - , ,
2 4 6
In[219]:= ClearAll;
A = {{1, 1, 2}, {- 1, 0, 2}, {3, 2, - 1}};
A1 = {{1, 1, 2}, {3, 2, 1}, {- 1, 0, 2}};
b = {3, - 1, 4};
b1 = {3, 4, - 1};
d = DiagonalMatrix[Diagonal[A1]];
l = LowerTriangularize[A1] - d;
u = UpperTriangularize[A1] - d;
t = - Inverse[d].l + u;
c = Inverse[d].b1;
n = 10;
xold = {0, 0, 0};
For[i = 1, i ≤ n, i ++,
xnew = t.xold + c;
Print["Approximate value:", N[xnew]];
xold = xnew;]
Approximate value:{3., 2., -0.5}
In[206]:= ClearAll;
A = {{1, 1, 2}, {- 1, 0, 2}, {3, 2, - 1}};
A1 = {{1, 1, 2}, {3, 2, 1}, {- 1, 0, 2}};
b = {3, - 1, 4};
b1 = {3, 4, - 1};
d = DiagonalMatrix[Diagonal[A1]];
l = LowerTriangularize[A1] - d;
u = UpperTriangularize[A1] - d;
t = - Inverse[d + l].(u);
c = Inverse[d + l].b1;
n = 10;
xold = {0, 0, 0};
For[i = 1, i ≤ n, i ++,
xnew = t.xold + c;
Print["Approximate value:", N[xnew]];
xold = xnew;]
Approximate value:{3., -2.5, 1.}
ClearAll;
x = {- 1, 0, 1, 2};
y = {3, - 1, - 3, 1};
n = Length[x];
ndd1 = Table[0, {n - 1}];
ndd2 = Table[0, {n - 2}];
ndd3 = Table[0, {n - 3}];
Fori = 1, i ≤ n - 1, i ++,
ndd1[[i]] = y[[i + 1]] - y[[i]] x[[i + 1]] - x[[i]]
Fori = 1, i ≤ n - 2, i ++,
ndd2[[i]] = ndd1[[i + 1]] - ndd1[[i]] x[[i + 2]] - x[[i]]
Fori = 1, i ≤ n - 3, i ++,
ndd3[[i]] = ndd2[[i + 1]] - ndd2[[i]] x[[i + 3]] - x[[i]]
nddc = Table[0, {n}];
nddc[[1]] = y[[1]];
nddc[[2]] = ndd1[[1]];
nddc[[3]] = ndd2[[1]];
nddc[[4]] = ndd3[[1]];
(*creating polynomial*)
sum = 0;
pr = 1;
Fori = 1, i ≤ n, i ++,
sum = sum + nddc[[i]] * pr;
pr = pr * t - x[[i]];
Print["NEWTON DIVIDED DIFFERENCE POLYNOMIAL= ", Expand[sum]]
NEWTON DIVIDED DIFFERENCE POLYNOMIAL= 3
In[172]:= ClearAll;
x = {0, 1, 2, 3, 4};
y = {5, 15, 61, 197, 501};
n = Length[x];
ndd1 = Table[0, {n - 1}];
ndd2 = Table[0, {n - 2}];
ndd3 = Table[0, {n - 3}];
ndd4 = Table[0, {n - 4}];
Fori = 1, i ≤ n - 1, i ++,
ndd1[[i]] = y[[i + 1]] - y[[i]] x[[i + 1]] - x[[i]];
Fori = 1, i ≤ n - 2, i ++,
ndd2[[i]] = ndd1[[i + 1]] - ndd1[[i]] x[[i + 2]] - x[[i]];
Fori = 1, i ≤ n - 3, i ++,
ndd3[[i]] = ndd2[[i + 1]] - ndd2[[i]] x[[i + 3]] - x[[i]];
Fori = 1, i ≤ n - 4, i ++,
ndd4[[i]] = ndd3[[i + 1]] - ndd3[[i]] x[[i + 4]] - x[[i]];
nddc = Table[0, {n}];
nddc[[1]] = y[[1]];
nddc[[2]] = ndd1[[1]];
nddc[[3]] = ndd2[[1]];
nddc[[4]] = ndd3[[1]];
nddc[[5]] = ndd4[[1]];
(* creating polynomial*)
sum = 0;
pr = 1;
Fori = 1, i ≤ n, i ++,
sum = sum + nddc[[i]] * pr;
pr = pr * t - x[[i]];
Print["NEWTON DIVIDED DIFFERENCE POLYNOMIAL= ", Expand[sum]]
NEWTON DIVIDED DIFFERENCE POLYNOMIAL= 5 + 4 t + 2 t 2 + 3 t3 + t4