0% found this document useful (0 votes)
11 views6 pages

Practical 1

The document demonstrates using the bisection method to find the root of 6 different functions. For each function, it performs 10 iterations of the bisection method, tracking the interval boundaries and function values at each step, and outputs the approximated root. The functions include polynomials, exponentials, logarithms, and other common mathematical functions.

Uploaded by

Vansh Talwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views6 pages

Practical 1

The document demonstrates using the bisection method to find the root of 6 different functions. For each function, it performs 10 iterations of the bisection method, tracking the interval boundaries and function values at each step, and outputs the approximated root. The functions include polynomials, exponentials, logarithms, and other common mathematical functions.

Uploaded by

Vansh Talwar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

PRACTICAL-1

Q1)Perform 10 iterations of Bisection Method to find the root of the function f (x) = x 3 -5x+1 in the
interval [0,1]
f[x_] := x3 - 5 x + 1;
Plot[f[x], {x, - 3, 3}]
a = 0;
b = 1;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]

10

-3 -2 -1 1 2 3

-5

-10

i a p b f[p]
1. 0. 0.5 1. -1.375
2. 0. 0.25 0.5 -0.234375
3. 0. 0.125 0.25 0.37695313
4. 0.125 0.1875 0.25 0.069091797
5. 0.1875 0.21875 0.25 -0.083282471
6. 0.1875 0.203125 0.21875 -0.0072441101
7. 0.1875 0.1953125 0.203125 0.030888081
8. 0.1953125 0.19921875 0.203125 0.011812866
9. 0.19921875 0.20117188 0.203125 0.0022820756
10. 0.20117188 0.20214844 0.203125 -0.0024815956
Root after 10 iterations 0.20214844

Q2) f(x) = cosx-x


2 practical1.nb

f[x_] := Cos[x] - x;
Plot[f[x], {x, - 3, 3}]
a = 0;
b = 1;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]
2

-3 -2 -1 1 2 3

-1

-2

-3

-4

i ai pi bi f[p]
1. 0. 0.5 1. 0.37758256
2. 0.5 0.75 1. -0.018311131
3. 0.5 0.625 0.75 0.18596312
4. 0.625 0.6875 0.75 0.085334946
5. 0.6875 0.71875 0.75 0.033879372
6. 0.71875 0.734375 0.75 0.0078747255
7. 0.734375 0.7421875 0.75 -0.0051957117
8. 0.734375 0.73828125 0.7421875 0.0013451498
9. 0.73828125 0.74023438 0.7421875 -0.0019238728
10. 0.73828125 0.73925781 0.74023438 -0.00028900915
Root after 10 iterations 0.73925781

Q3)f(x) = e-x -x
practical1.nb 3

f[x_] := ⅇ-x - x;
Plot[f[x], {x, - 3, 3}]
a = 0;
b = 1;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]

20

15

10

-3 -2 -1 1 2 3

i ai pi bi f[p]
1. 0. 0.5 1. 0.10653066
2. 0.5 0.75 1. -0.27763345
3. 0.5 0.625 0.75 -0.089738571
4. 0.5 0.5625 0.625 0.0072828247
5. 0.5625 0.59375 0.625 -0.04149755
6. 0.5625 0.578125 0.59375 -0.017175839
7. 0.5625 0.5703125 0.578125 -0.0049637604
8. 0.5625 0.56640625 0.5703125 0.001155202
9. 0.56640625 0.56835938 0.5703125 -0.0019053596
10. 0.56640625 0.56738281 0.56835938 -0.00037534917
Root after 10 iterations 0.56738281

Q4) f(x)=log(1+x)-cos(x)
4 practical1.nb

f[x_] := Log[1 + x] - Cos[x];


Plot[f[x], {x, - 3, 3}]
a = 0;
b = 1;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]

-3 -2 -1 1 2 3

-2

-4

-6

i ai pi bi f[p]
1. 0. 0.5 1. -0.47211745
2. 0.5 0.75 1. -0.17207308
3. 0.75 0.875 1. -0.012388199
4. 0.875 0.9375 1. 0.069593407
5. 0.875 0.90625 0.9375 0.028435895
6. 0.875 0.890625 0.90625 0.0079812284
7. 0.875 0.8828125 0.890625 -0.0022142544
8. 0.8828125 0.88671875 0.890625 0.0028808088
9. 0.8828125 0.88476563 0.88671875 0.00033260588
10. 0.8828125 0.88378906 0.88476563 -0.00094099231
Root after 10 iterations 0.88378906

Q5)Cube root of 17
practical1.nb 5

f[x_] := x3 - 17;
Plot[f[x], {x, - 3, 3}]
a = 2;
b = 3;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]
10

-3 -2 -1 1 2 3

-10

-20

-30

-40

i ai pi bi f[p]
1. 2. 2.5 3. -1.375
2. 2.5 2.75 3. 3.796875
3. 2.5 2.625 2.75 1.0878906
4. 2.5 2.5625 2.625 -0.17358398
5. 2.5625 2.59375 2.625 0.44955444
6. 2.5625 2.578125 2.59375 0.13609695
7. 2.5625 2.5703125 2.578125 -0.019214153
8. 2.5703125 2.5742188 2.578125 0.058323562
9. 2.5703125 2.5722656 2.5742188 0.019525267
10. 2.5703125 2.5712891 2.5722656 0.00014820043
Root after 10 iterations 2.5712891

Q6)Approximate value of 1/37


6 practical1.nb

f[x_] := x - 1  37;
Plot[f[x], {x, - 3, 3}]
a = 0;
b = 1;
n = 10;
Iff[a] * f[b] > 0, Print["We cannot contiue with the Bisection Method"],
i = 1;
p = a + b  2;
OutputDetails = {{i, a, p, b, f[p]}};
Whilei < n, If[Sign[f[a]] ⩵ Sign[f[p]], a = p, b = p]; p = a + b  2;
i ++; OutputDetails = Append[OutputDetails, {i, a, p, b, f[p]}];
(*Combining the output details with the headings of the tables*)
Print[NumberForm[N[TableForm[OutputDetails,
TableHeadings → {None, {"i", "ai ", "pi ", "bi ", "f[p]"}}]], 8]];
Print["Root after ", n, " iterations ", NumberForm[N[p], 8]]
3

-3 -2 -1 1 2 3

-1

-2

-3

i ai pi bi f[p]
1. 0. 0.5 1. 0.47297297
2. 0. 0.25 0.5 0.22297297
3. 0. 0.125 0.25 0.097972973
4. 0. 0.0625 0.125 0.035472973
5. 0. 0.03125 0.0625 0.004222973
6. 0. 0.015625 0.03125 -0.011402027
7. 0.015625 0.0234375 0.03125 -0.003589527
8. 0.0234375 0.02734375 0.03125 0.00031672297
9. 0.0234375 0.025390625 0.02734375 -0.001636402
10. 0.025390625 0.026367188 0.02734375 -0.00065983953
Root after 10 iterations 0.026367188

You might also like