00 upvotes11 downvote

244 views49 pagesmanual

Jan 29, 2016

© © All Rights Reserved

DOCX, PDF, TXT or read online from Scribd

manual

© All Rights Reserved

244 views

00 upvotes11 downvote

manual

© All Rights Reserved

You are on page 1of 49

Numerical Analysis

Date:

List of Experiments

Subject: Numerical Analysis (GS-202)

Semester: 5th

Instructor Name: Sajid khan

Session: Spring 2015

Sr. #

List of Experiments

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

Method

Experiment # 01

Title

Introduction to MATLAB basic concepts, and functions

Wah Engineering College

Page 1

Lab manuals

Numerical Analysis

Date:

Software

MATLAB

Learning objectives

Introduction

The most important elements of the MATLAB screen are the following:

The Command History: This presents a history of the functions introduced in the Command

The Launch Pad: This runs tools and gives you access to documentation for all MathWorks

The Current Directory: This shows MATLAB files and execute files (such as opening and search

Help (support): This allows you to search and read the documentation for the complete family

of MATLAB products.

The Workspace: This shows the present contents of the workspace and allows you to make

changes to it.

The Array Editor: This displays the contents of arrays in a tabular format and allows you to edit their

values.

The Editor/Debugger: This allows you to create, edit, and check M-files (files that contain

MATLAB functions).

List of commands

Page 2

Lab manuals

Numerical Analysis

Experiment # 02

Title

Implementation of matrices, and polynomials

Software

MATLAB

Learning Objectives

Introduction

List of commands

Page 3

Date:

Lab manuals

Numerical Analysis

Date:

Experiment # 03

Title

Implementation of Graphs in MATLAB

Software

MATLAB

Learning Objectives

Introduction

MATLAB provides a very good tools for two dimensional, three dimensional plots, 3-D volume visualization

functions, tools for interactively creating plots and the ability to export results to many popular graphics formats. It is

possible to customize plot by adding multiple axes, changing line colures and markers, adding annotations and

legends.

Vector data can be visualized with 3-D plotting functions such as line, area, bar and pie charts, direction and velocity

plots, histograms polygons and surfaces, scatter/bubble plots, and animations. MATLAB provides functions for 2-D

Wah Engineering College

Page 4

Lab manuals

Numerical Analysis

Date:

matrices, 3-D scaler and vector data. In MATLAB one can characterize plots, such as viewing angle, perspective,

lighting effect, light source location and transparency. 3-D plotting functions include surface, contour, mesh, image

plots etc., the graphics commands in MATLAB are very simple and easy to understand.

List of Commands

Command

plot

xlabel

ylabel

semilogx

title

semilogy

grid on

loglog

text

polar

gtext

area

axis

bar

subplot

barh

legend

hist

rose

pie

stairs

stem

compass

Description

To draw a 2-D plot

To label the x-axis

To label the y-axis

Plot

with

linear

scale

y-axis and logarithmic scale x-axis

To

give

a title

to the

figure

Plot

withthe

linear

logarithmic scale y-axis

To

show

grid scale

lines x-axis

on the and

graph

Plot

with

logarithmic

scale

x-axis

and y-axis

To write illustrative text on the graph

Toplace

drawtext

a plot

To

onon

thepolar

graphcoordinates

using the mouse

Same

as

plot

except

area

under

plot is filled with colour

To control the axis of plot

Tosub

draw

vertical

barwindow

graph into sub-graphs

To

divide

graph

Toproduce

draw horizontal

bar graph

To

a boxed legend

on the plot

To draw a histogram

To draw an angle histogram

To draw pie plot

To give staircase plot

To give stem plot

To plot the complex data

plot3

bar3

bar3h

pie3

To plot a 3-D vertical bar graph

To plot a 3-D horizontal bar graph

To plot 3-D pie graph

Tasks

Task 1

Page 5

Lab manuals

Numerical Analysis

Date:

Experiment # 04

Title

Implementation of Solution of Transcendental Equations by Bisection Method

Software

MATLAB

Theory

f ( x) 0

The steps to apply the bisection method to find the root of the equation

1. Choose

are

f ( x ) f ( xu ) 0

xu

and

as two guesses for the root such that

, or in other words,

xu

x

sign between

and .

xm

xu

x

f ( x) 0

2. Estimate the root,

, of the equation

as the mid-point between

and

as

x xu

xm =

2

3. Now check the following

f ( x ) f ( xm ) 0

xm

xu x m

x

x x

a) If

, then the root lies between

and ; then

and

.

Wah Engineering College

Page 6

f (x)

changes

Lab manuals

Numerical Analysis

f ( x ) f ( xm ) 0

b) If

xm

Date:

xu

x x m

xu xu

and ; then

and

xm

c) If

; then the root is . Stop the algorithm if this is true.

4. Find the new estimate of the root

x xu

xm =

2

f ( x ) f ( x m ) 0

xmnew - xmold

a =

100

xmnew

Where

xmnew

xmold

with the pre-specified relative error tolerance . If

a s

, then go to Step 3, else stop the algorithm. Note one should also check whether the number of

iterations is more than the maximum number of iterations allowed. If so, one needs to terminate the

algorithm and notify the user about it.

Code

clc

x0 = -2.0 ;

x1 = -1.0 ;

n = 15

fx0 = x0^5 + x0^3 +4*x0^2 - 3*x0 - 2;

fx1 = x1^5 + x1^3 +4*x1^2 - 3*x1 - 2;

fprintf(' k

x0

xmid

x1 f(xmid)\n');

for k=1:n

xm = x0 + 0.5*(x1-x0);

fm = xm^5 + xm^3 +4*xm^2 - 3*xm - 2;

fprintf('%3d\t %.8f \t %.8f\t %.8f \t %.8e \n',k,x0,xm,x1,fm);

if sign(fm) == sign(fx0)

x0 = xm;

fx0 = fm;

Wah Engineering College

Page 7

Lab manuals

Numerical Analysis

else

x1 = xm;

fx1 = fm;

end

end

Result

n=

15

k

x0

xmid

1

-2.00000000 -1.50000000

2

-2.00000000 -1.75000000

3

-1.75000000 -1.62500000

4

-1.62500000 -1.56250000

5

-1.56250000 -1.53125000

6

-1.53125000 -1.51562500

7

-1.53125000 -1.52343750

8

-1.53125000 -1.52734375

9

-1.53125000 -1.52929688

10

-1.53125000 -1.53027344

11

-1.53027344 -1.52978516

12

-1.52978516 -1.52954102

13

-1.52954102 -1.52941895

14

-1.52941895 -1.52935791

15

-1.52941895 -1.52938843

Conclusions

From this we conclude that

x1

-1.00000000

-1.50000000

-1.50000000

-1.50000000

-1.50000000

-1.50000000

-1.51562500

-1.52343750

-1.52734375

-1.52929688

-1.52929688

-1.52929688

-1.52929688

-1.52929688

-1.52935791

f(xmid)

5.31250000e-001

-6.27246094e+000

-2.18447876e+000

-6.74798012e-001

-3.61247361e-002

2.56196528e-001

1.12228746e-001

3.86045517e-002

1.37858857e-003

-1.73383354e-002

-7.97119735e-003

-3.29413644e-003

-9.57232078e-004

2.10813694e-004

-3.73175328e-004

It is more reliable.

It is not the fastest method for finding roots.

The Bisection Method will always work, once you have found starting points.

It is always possible to find the number of steps required for a given accuracy.

Page 8

Date:

Lab manuals

Numerical Analysis

Date:

Experiment # 05

Title

Implementation of Regula-Falsi Method

Software

MATLAB

Theory

The steps to apply the false-position method to find the root of the equation

1. Choose

between

xL

xL

xU

and

are as follows.

f x L f xU 0

xU

and

f x 0

Page 9

, or in other words,

f x

changes sign

Lab manuals

2. Estimate the root,

xr

Numerical Analysis

xr

of the equation

f x 0

Date:

as

xU f x L x L f xU

f x L f xU

If

If

If

f x L f xr 0

f x L f xr 0

f x L f xr 0

, then the root is

xr

xL

xr

and

xr

; then

xU

and

; then

xL xL

x L xr

xU x r

and

xU xU

and

xr

xU f x L x L f xU

f x L f xU

a

x rnew x rold

100

x rnew

Where

xrnew

x rold

a s

with the pre-specified relative error tolerance . If

,

then go to step 3, else stop the algorithm. Note one should also check whether the number of iterations is more than

the maximum number of iterations allowed. If so, one needs to terminate the algorithm and notify the user about it.

Note that the false-position and bisection algorithms are quite similar. The only difference is the formula used to

calculate the new estimate of the root

Wah Engineering College

xr

Page 10

Lab manuals

Numerical Analysis

Code

clc

clear all

N=15;

a=0;

b=2;

f=@(x)x^2-1;

fprintf('n

a

b

for n=1:N;

c=b-(b-a)/(f(b)-f(a))*f(b);

fprintf('%3d %8.15f %8.15f

if f(a)*f(b)<0

a=a;

b=c;

else

a=c;

b=b;

end

end

Result

n

c

%8.15f

Date:

f(c)\n' )

%8.15f\n',n,a,b,c,f(c))

f(c)

0.000000000000000

2.000000000000000

0.500000000000000

-0.750000000000000

0.000000000000000

0.500000000000000

2.000000000000000

3.000000000000000

2.000000000000000

0.500000000000000

0.800000000000000

-0.360000000000000

2.000000000000000

0.800000000000000

0.928571428571429

-0.137755102040816

2.000000000000000

0.928571428571429

0.975609756097561

-0.048185603807258

2.000000000000000

0.975609756097561

0.991803278688525

-0.016326256382693

2.000000000000000

0.991803278688525

0.997260273972603

-0.005471945956089

2.000000000000000

0.997260273972603

0.999085923217550

-0.001827318028535

2.000000000000000

0.999085923217550

0.999695214873514

-0.000609477358998

10

2.000000000000000

0.999695214873514

0.999898394635237

-0.000203200405876

11 2.000000000000000

0.999898394635237

0.999966130397968

-0.000067738056915

12

2.000000000000000

0.999966130397968

0.999988710005193

-0.000022579862149

13

2.000000000000000

0.999988710005193

0.999996236654235

-0.000007526677367

14

2.000000000000000

0.999996236654235

0.999998745549838

-0.000002508898750

Page 11

Lab manuals

15

2.000000000000000

Numerical Analysis

0.999998745549838

0.999999581849771

Date:

-0.000000836300283

Conclusions

From this we conclude that

It is faster than bisection method.

Experiment # 06

Title

Implementation of Newton Raphson Method

Software

MATLAB

Theory

The steps of the Newton-Raphson method to find the root of an equation

Wah Engineering College

Page 12

f x 0

are

Lab manuals

1. Evaluate

Numerical Analysis

f x

Date:

symbolically

xi

2. Use an initial guess of the root,

f xi

xi 1 = xi

f xi

xi 1

, to estimate the new value of the root,

, as

a

3. Find the absolute relative approximate error

x xi

a = i 1

100

xi 1

as

4. Compare the absolute relative approximate error with the pre-specified relative error tolerance, . If

s

> , then go to Step 2, else stop the algorithm. Also, check if the number of iterations has exceeded the

maximum number of iterations allowed. If so, one needs to terminate the algorithm and notify the user.

Code

clc

clear all

N=10;

fprintf('initial guess=')

x0=1

f=@(x)1+x*tan(x);

fd=@(x)tan(x)+x*sec(x)*sec(x);

fprintf('n

c

f(c)\n')

for n=0:N

c=x0-f(x0)/fd(x0);

fprintf('%3d

%8.15f

%8.15f\n',n,c,f(c))

x0=c;

end

Result

initial guess=

x0 =

Page 13

Lab manuals

n

Numerical Analysis

c

Date:

f(c)

0.486765919321041

1.257616530515499

-0.604585157132899

1.417701383255673

0.290394556555804

1.086782243712915

-1.476238939808956

16.565537805943002

-1.382193568080384

8.241494831553638

-1.197242781124118

4.054526184000185

-0.845944777816717

1.955127027360944

-0.205635654936590

1.042892315640791

2.258861634199093

-1.747710286541552

2.657445406325536

-0.397533477242050

10

2.796127661832952

-0.006319842260502

Conclusions

From this we conclude that

The convergence of this method is faster than both Bisection and Regula falsi method.

It can be extended to system of nonlinear equations.

Probability of success is high, only if good starting value is assumed.

Experiment # 07

Title

Implementation of Secant method

Software

MATLAB

Page 14

Lab manuals

Numerical Analysis

Date:

Theory

f ( x) 0

xi 1 = xi

f ( xi )

f ( xi )

.. (1)

One of the drawbacks of the Newton-Raphson method is that you have to evaluate the derivative of the function.

With availability of symbolic manipulators such as Maple, MathCAD, MATHEMATICA and MATLAB, this process

has become more convenient. However, it still can be a laborious process, and even intractable if the function is

f (x)

derived as part of a numerical scheme. To overcome these drawbacks, the derivative of the function,

is

approximated as

f ( xi )

f ( xi ) f ( xi 1 )

xi xi 1

. (2)

xi 1 xi

f ( xi )( xi xi 1 )

f ( xi ) f ( xi 1 )

. (3)

The above equation is called the secant method. This method now requires two initial guesses, but unlike the

bisection method, the two initial guesses do not need to bracket the root of the equation. The secant method is an

open method and may or may not converge. However, when secant method converges, it will typically converge

faster than the bisection method. However, since the derivative is approximated as given by Equation (2), it typically

converges slower than the Newton-Raphson method.

Code

clc

clear all

N=15;

x0=0.5;

x1=1.5;

fx0=cos(x0)-2*x0+3;

fx1=cos(x1)-2*x1+3;

format short

fprintf('n

x0

x1

x2

f(x2\n')

for n=1:N

x2=x0-(x1-x0)/(fx1-fx0)*fx0;

fx2=cos(x2)-2*x2+3;

fprintf('%3d %8.15f %8.15f %8.15f %8.15f\n',n,x0,x1,x2,fx2)

Wah Engineering College

Page 15

Lab manuals

Numerical Analysis

Date:

x0=x1;

x1=x2;

end

Result

n

x0

x1

x2

f(x2)

2 1.500000000000000 1.525201673975402 1.525836798346565 -0.006729213273436

3 1.525201673975402 1.525836798346565 1.525852804543901 -0.006777215696788

4 1.525836798346565 1.525852804543901 1.525853207926867 -0.006778425438360

5 1.525852804543901 1.525853207926867 1.525853218092794 -0.006778455925873

6 1.525853207926867 1.525853218092794 1.525853218348992 -0.006778456694209

7 1.525853218092794 1.525853218348992 1.525853218355449 -0.006778456713573

8 1.525853218348992 1.525853218355449 1.525853218355611 -0.006778456714061

9 1.525853218355449 1.525853218355611 1.525853218355615 -0.006778456714073

10 1.525853218355611 1.525853218355615 1.525853218355615 -0.006778456714073

11 1.525853218355615 1.525853218355615 1.525853218355615 -0.006778456714073

12 1.525853218355615 1.525853218355615 1.525853218355615 -0.006778456714073

13 1.525853218355615 1.525853218355615 1.525853218355615 -0.006778456714073

14 1.525853218355615 1.525853218355615 1.525853218355615 -0.006778456714073

15 1.525853218355615 1.525853218355615 1.525853218355615 -0.006778456714073

Conclusions

From this we conclude that

It does not require evaluation of derivatives.

It is easier to implement than Newtons Raphson method.

It may be used to find complex roots.

Convergence rate is not faster than Newtons Raphson method.

Page 16

Lab manuals

Numerical Analysis

Experiment # 08

Title

Implementation of Fixed Point Iteration Method

Software

MATLAB

Page 17

Date:

Lab manuals

Numerical Analysis

Date:

Theory

In numerical analysis, fixed-point iteration is a method of computing fixed points of iterated functions. More

specifically, given a function defined on the real numbers with real values and given a point

in the domain of ,

the fixed point iteration is

Which gives rise to the sequence

Which is hoped to converge to a point . If

of , i.e.,

More generally, the function

.

can be defined on any metric space with values in that same space.

Code

clc

clear all

N=15;

x=1;

f=@(x)sin(x)-5*x+2;

fprintf('n

x

c

f(c)\n')

for n=1:N;

c=(sin(x)+2)/5;

fc=sin(c)-5*c+2;

fprintf('%3d %8.15f %8.15f %8.15f\n', n,x,c,f(c))

x=c;

end

Result

n

f(c)

2 0.568294196961579 0.507639029417637 -0.052079782993259

3 0.507639029417637 0.497223072818985 -0.009128653730139

4 0.497223072818985 0.495397342072957 -0.001605448010901

5 0.495397342072957 0.495076252470777 -0.000282512675688

6 0.495076252470777 0.495019749935639 -0.000049719174508

7 0.495019749935639 0.495009806100738 -0.000008750193762

8 0.495009806100738 0.495008056061985 -0.000001539971918

9 0.495008056061985 0.495007748067602 -0.000000271024264

10 0.495007748067602 0.495007693862749 -0.000000047698375

Wah Engineering College

Page 18

is a fixed point

Lab manuals

Numerical Analysis

Date:

12 0.495007684323074 0.495007682644157 -0.000000001477388

13 0.495007682644157 0.495007682348680 -0.000000000260010

14 0.495007682348680 0.495007682296678 -0.000000000045760

15 0.495007682296678 0.495007682287526 -0.000000000008054

Conclusions

From this we conclude that

It is more concrete and definite than other methods.

Its order of convergence beginning at one and increases method get more and more accurate.

It has the potential to find the roots quickly and accurately.

Experiment # 09

Title

Implementation of Gauss-Jacobi Method for Solution of System of Linear Equations

Software

MATLAB

Theory

Given a general set of

equations and

unknowns, we have

Wah Engineering College

Page 19

Lab manuals

Numerical Analysis

Date:

a 21 x1 a 22 x 2 a 23 x3 ... a 2 n xn c 2

.

a n1 x1 a n 2 x 2 a n 3 x3 ... a nn x n c n

If the diagonal elements are non-zero, each equation is rewritten for the corresponding unknown, that is, the first

equation is rewritten with

so on as follows

x1

x1

a11

x2

c 2 a 21 x1 a 23 x3 a 2 n x n

a 22

x n 1

xn

a n 1,n 1

c n a n1 x1 a n 2 x 2 a n ,n 1 x n 1

a nn

n

c1 a1 j x j

x1

j 1

j 1

a11

n

c2 a2 j x j

x2

j 1

j2

a 22

.

.

Wah Engineering College

Page 20

x2

Lab manuals

Numerical Analysis

Date:

.

c n 1

x n 1

j 1

j n 1

n 1, j

xj

a n 1,n 1

n

c n a nj x j

j 1

jn

xn

a nn

i

Hence for any row ,

n

ci aij x j

j 1

j i

xi

aii

, i 1,2, , n.

xi

xi

Now to find s, one assumes an initial guess for the s and then uses the rewritten equations to calculate the new

estimates simultaneously. At the end of each iteration, one calculates the absolute relative approximate error for

xi

each

as

x inew x iold

x inew

100

xi

xinew

where

xi

xiold

, and

When the absolute relative approximate error for each xi is less than the pre-specified tolerance, the iterations are

stopped.

Code

clc

clear all

N=10;

x0=0;

y0=0;

z0=0;

Wah Engineering College

Page 21

Lab manuals

Numerical Analysis

fprintf(' n

x

y

z\n');

for i=1:N

x=95/83-11/83*y0+4/83*z0;

y=104/52-7/52*x0-13/52*z0;

z=71/29-3/29*x0-8/29*y0;

x0=x;

y0=y;

z0=z;

fprintf('%3d

end

%8.15f

%8.15f

Result

n

x

1

1.144578313253012

2

0.997507270461155

3

1.066749436787128

4

1.052841339383336

5

1.058747659004925

6

1.057496281055922

7

1.058002319367357

8

1.057890257136219

9

1.057933711091246

10

1.057923713271082

%8.5e \n',i,x,y,z)

y

2.000000000000000

1.233853184621776

1.421183407369531

1.355221073661050

1.371803388929915

1.366099488805504

1.367564301124371

1.367070444937255

1.367199638974542

1.367156832195136

z

2.44828e+000

1.77815e+000

2.00471e+000

1.94587e+000

1.96551e+000

1.96032e+000

1.96202e+000

1.96157e+000

1.96172e+000

1.96168e+000

Conclusions

From this we conclude that

It convergence rate is slower than Gauss Seidal method.

It is easy to implement.

Experiment # 10

Title

Implementation of Gauss- Seidel Method for Solution of System of linear Equations

Wah Engineering College

Page 22

Date:

Lab manuals

Numerical Analysis

Date:

Software

MATLAB

Theory

Given a general set of

equations and

unknowns, we have

a 21 x1 a 22 x 2 a 23 x3 ... a 2 n x n c 2

.

a n1 x1 a n 2 x 2 a n 3 x3 ... a nn xn c n

If the diagonal elements are non-zero, each equation is rewritten for the corresponding unknown, that is, the first

equation is rewritten with

so on as follows

x1

x1

a11

x2

c 2 a 21 x1 a 23 x3 a 2 n x n

a 22

x n 1

xn

a n 1,n 1

c n a n1 x1 a n 2 x 2 a n ,n 1 x n 1

a nn

Page 23

x2

Lab manuals

Numerical Analysis

Date:

c1 a1 j x j

j 1

j 1

x1

a11

n

c2 a2 j x j

j 1

j2

x2

a 22

.

.

.

c n 1

x n 1

j 1

j n 1

n 1, j

xj

a n 1,n 1

n

c n a nj x j

j 1

jn

xn

a nn

i

Hence for any row ,

n

ci aij x j

j 1

j i

xi

aii

, i 1,2, , n.

xi

Now to find

xi

s, one assumes an initial guess for the

xi

estimates. Remember, one always uses the most recent estimates to calculate the next estimates,

xi

each iteration, one calculates the absolute relative approximate error for each

Page 24

as

. At the end of

Lab manuals

a

Numerical Analysis

x inew x iold

x inew

100

xi

xinew

where

Date:

xi

xiold

, and

When the absolute relative approximate error for each xi is less than the pre-specified tolerance, the iterations are

stopped.

Code

83x+11y-4z=95

7x+52y+13z=104

3x+8y+29z=71

clc

clear all

N=15;

x0=0;

y0=0;

z0=0;

fprintf('apprpxi.

x

y

z\n')

for i=1:N

x(i)=1/83*(95-11*y0-4*z0);

y(i)=1/52*(104-7*x(i)-13*z0);

z(i)=1/29*(71-3*x(i)-8*y(i));

fprintf('%3d %8.15f %8.15f %8.15f\n',i,x(i),y(i),z(i))

x0=x(i);

y0=y(i);

z0=z(i);

end

Result

apprpxi.

1.144578313253012

1.845922150139018

1.820651305487201

0.812195796705084

1.435503124071746

1.968254745424510

0.859475260885696

1.392237720832336

1.975299050023594

0.864869745430722

1.389750464070735

1.975427139694550

0.865193208872816

1.389674898497330

1.975414523634584

0.865203831590253

1.389676622531128

1.975412949137249

Page 25

Lab manuals

Numerical Analysis

0.865203678983236

1.389677036698714

1.975412850671054

0.865203628838915

1.389677068065460

1.975412847205503

0.865203624848891

1.389677069468966

1.975412847231089

10

0.865203624661651

1.389677069487775

1.975412847245271

11 0.865203624658475

1.389677069484657

1.975412847246459

12

0.865203624658830

1.389677069484312

1.975412847246517

13

0.865203624658874

1.389677069484292

1.975412847246519

14

0.865203624658876

1.389677069484291

1.975412847246519

15

0.865203624658876

1.389677069484291

1.975412847246519

Date:

Conclusions

From this we conclude that

It is easy to implement compare to Gauss Jacobi method.

It is much closer to the solution after one iteration compared to Gauss Jacobi method.

It will require less iteration to reach to the convergence.

Page 26

Lab manuals

Numerical Analysis

Date:

Experiment # 11

Title

Implementation of Interpolation by Newton Forward Difference Formula

Software

MATLAB

Theory

Newton's forward difference formula is a finite difference identity giving an interpolated value between tabulated

points

(1)

xi

fi

x0

f0

x1

f1

fi

2fi

3f0 = 2f

2

1- f0

2f1 =

f2 - f1

f2

2f2 =

f3 - f2

f3

f5

Page 27

5f0 = 4

f1- 4f0

4f1 = 3f

3

2 - f1

3f2 = 2f

2

3 - f2

2f3 =

f4 - f3

f4

f4 = f5

- f4

x5

4f0 = 3f

3

1- f0

3f1 = 2f

2

2 - f1

f3 = f4

- f3

x4

5fi

2f0 =

f1- f0

f2 = f3

- f2

x3

4fi

f0 = f1

- f0

f1 = f2

- f1

x2

3fi

Lab manuals

Numerical Analysis

Code

clc

tic

n = 4;

x = [8, 10, 12, 14, 16];

fx = [1000, 1900, 3250, 5400, 8950];

x0=8;

xp=9;

h=2;

p=(xp-x0)/h

F = zeros(n+1, n+1);

F(:, 1) = fx;

for i=1:n

for j=1:i

F(i+1,j+1) = (F(i+1,j)-F(i,j)) ;

end

if i==j

gx=F(i,j)+p*F(i,j)+0.5*p*(p-1)*F(i,j)

break;

end

end

disp('Matrix diagonal entries represents the FORWARD Difference table')

a = diag(F)

b=F

Y=gx

Result

p=

0.5000

gx =

1375

Matrix diagonal entries represents the FORWARD Difference table

a=

1000

900

Wah Engineering College

Page 28

Date:

Lab manuals

Numerical Analysis

0

0

0

b=

1000

1900

3250

5400

8950

0

900

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

Y=

1375

Conclusions

Page 29

Date:

Lab manuals

Numerical Analysis

Date:

Experiment # 12

Title

Implementation of Lagrange Interpolation Formula

Software

MATLAB

Theory

n

Polynomial interpolation involves finding a polynomial of order

that

n 1

passes through the

data points. One of the methods used to find this

polynomial is called the Lagrangian method of interpolation. Other

methods include Newtons divided difference polynomial method and the

direct method. We discuss the Lagrangian method in this chapter.

n

f n ( x) Li ( x ) f ( xi )

i 0

Where

f n (x )

in

n th

y f (x)

given at

x0 , y 0 , x1 , y1 ,......, xn1 , y n1 , xn , y n

points as

, and

n

Li ( x)

j 0

j i

x xj

xi x j

Li (x )

is a weighting function that includes a product of

Code

clc

clear all

X=[0 1 2 4];

Y = [1 1 2 5];

Wah Engineering College

Page 30

n 1

ji

terms with terms of

omitted?

n 1

data

Lab manuals

Numerical Analysis

x=3;

n = length(X);

if n ~= length(Y)

error('X and Y must be the same length.');

end

y=0;

% initialise sum

for i = 1:n

for j = 1:i-1

L = (x-X(j))/(X(i)-X(j)) % multiply next factor

end

for k=1+i:n

L =(x-X(k))/(X(i)-X(k)) % multiply next factor

end

y =y+L*Y(i)

% add next term

end

y

polyfit(X,Y,3)

Result

L=

-2

L=

-0.5000

L=

Wah Engineering College

Page 31

Date:

Lab manuals

Numerical Analysis

0.2500

y=

0.2500

L=

L=

-1

L=

0.3333

y=

Page 32

Date:

Lab manuals

Numerical Analysis

0.5833

L=

1.5000

L=

L=

0.5000

y=

1.5833

L=

0.7500

Wah Engineering College

Page 33

Date:

Lab manuals

Numerical Analysis

L=

0.6667

L=

0.5000

y=

4.0833

y=

4.0833

ans =

-0.0833

0.7500 -0.6667

1.0000

Conclusions

Wah Engineering College

Page 34

Date:

Lab manuals

Numerical Analysis

Lagrange interpolation are used to find polynomial expression.

Experiment # 13

Title

Implementation of Newtons Divided Difference Formula

Wah Engineering College

Page 35

Date:

Lab manuals

Numerical Analysis

Date:

Software

MATLAB

Theory

For Newtons divided difference method let us revisit the quadratic polynomial interpolation formula

f 2 ( x) b0 b1 ( x x0 ) b2 ( x x0 )( x x1 )

where

b0 f ( x0 )

b1

f ( x1 ) f ( x0 )

x1 x0

f ( x 2 ) f ( x1 ) f ( x1 ) f ( x0 )

x 2 x1

x1 x 0

b2

x 2 x0

b0 , b1 ,

b0 , b1 ,

b2

Note that

and

are finite divided differences.

and

differences, respectively. We denote the first divided difference by

f [ x0 ] f ( x0 )

the second divided difference by

f [ x1 , x0 ]

f ( x1 ) f ( x0 )

x1 x0

f [ x 2 , x1 , x0 ]

f [ x 2 , x1 ] f [ x1 , x0 ]

x2 x0

f ( x 2 ) f ( x1 ) f ( x1 ) f ( x 0 )

x 2 x1

x1 x0

x2 x0

Page 36

b2

Lab manuals

Numerical Analysis

f [ x0 ], f [ x1 , x0 ],

where

brackets.

Date:

f [ x 2 , x1 , x0 ]

and

Rewriting,

f 2 ( x) f [ x0 ] f [ x1 , x0 ]( x x0 ) f [ x 2 , x1 , x0 ]( x x0 )( x x1 )

This leads us to writing the general form of the Newtons divided difference polynomial for

x0 , y0 , x1 , y1 ,......, xn1 , y n1 , xn , y n

, as

f n ( x) b0 b1 ( x x 0 ) .... bn ( x x0 )( x x1 )...( x x n 1 )

where

b0 f [ x0 ]

b1 f [ x1 , x0 ]

b2 f [ x 2 , x1 , x0 ]

bn 1 f [ x n 1 , x n 2 ,...., x0 ]

bn f [ x n , x n 1 ,...., x0 ]

m th

divided difference is

bm f [ x m ,........, x0 ]

f [ xm ,........, x1 ] f [ xm 1 ,........, x0 ]

xm x0

From the above definition, it can be seen that the divided differences are calculated recursively.

Page 37

n 1

data points,

Lab manuals

Numerical Analysis

Date:

Code

clear all

clc

n = 4;

xa = [8 11 14 17 19];

fx = [1000, 1900, 3250, 5400, 8950];

F = zeros(n+1, n+1);

F(:, 1) = fx

X= zeros(5);

X(:,1)=xa

x=9;

x0=xa(1);

x1=xa(2);

x2=xa(3);

x3=xa(4);

x4=xa(5);

% Compute the Newton divided differences.

for i=1:n

h(1)=xa(i+1)-xa(1);

for j=1:i

F(i+1,j+1) = (F(i+1,j)-F(i,j))/(h(1));

if i==j

gx=F(i,j)+(x-8)*F(i,j)+(x-8)*(x-10)*F(i,j)+(x-8)*(x-10)*(x-12)*F(i,j)+(x-8)*(x-10)*(x-12)*(x-14)*F(i,j);

break;

end

end

end

a = diag(F)

b=gx

Result

F=

1000

1900

3250

5400

Page 38

Lab manuals

8950

Numerical Analysis

X=

11

14

17

19

a=

1.0e+003 *

1.0000

0.3000

-0.0125

0.0016

-0.0001

b=

-17.1639

Wah Engineering College

Page 39

Date:

Lab manuals

Numerical Analysis

Conclusions

Experiment # 14

Title

Implementation of Simpsons Rule

Wah Engineering College

Page 40

Date:

Lab manuals

Numerical Analysis

Date:

Software

MATLAB

Theory

Just like in multiple-segment trapezoidal rule, one can subdivide the interval

Simpsons 1/3 rule repeatedly over every two segments. Note that

equal segments, so that the segment width is given by

h

ba

n

a, b

into

Now

b

xn

x0

f ( x)dx f ( x)dx

where

x0 a

xn b

b

f ( x)dx

x2

f ( x)dx

x0

x4

f ( x)dx ......

x2

xn 2

f ( x)dx

xn 4

xn

f ( x)dx

xn 2

b

f ( x )dx ( x

f ( x0 ) 4 f ( x1 ) f ( x2 )

f ( x 2 ) 4 f ( x3 ) f ( x4 )

( x4 x2 )

...

6

6

x0 )

f ( x n 4 ) 4 f ( x n 3 ) f ( x n 2 )

f ( x n 2 ) 4 f ( x n 1 ) f ( x n )

( x n xn 2 )

6

6

( xn2 xn4 )

Since

x i x i 2 2h

i 2, 4, ..., n

Then

Wah Engineering College

Page 41

a, b

into

Lab manuals

Numerical Analysis

Date:

f ( x0 ) 4 f ( x1 ) f ( x 2 )

f ( x 2 ) 4 f ( x3 ) f ( x 4 )

2h

...

6

6

f ( x )dx 2h

a

f ( x n 4 ) 4 f ( x n 3 ) f ( x n 2 )

f ( x n 2 ) 4 f ( x n 1 ) f ( x n )

2h

6

6

2h

h

f ( x0 ) 4 f ( x1 ) f ( x3 ) ... f ( xn1 ) 2 f ( x2 ) f ( x4 ) ... f ( xn2 ) f ( xn )

3

n 1

n2

h

f ( x 0 ) 4 f ( x i ) 2 f ( xi ) f ( x n )

3

i 1

i2

i odd

i even

n 1

n 2

ba

f ( x )dx

f ( x 0 ) 4 f ( x i ) 2 f ( xi ) f ( x n )

3n

i 1

i 2

i odd

i even

clc

clear all

f=@(x)x^3;

a=1;

b=5;

n=b-a;

h=(b-a)/n;

p=0;

for i=a:b

p=p+1;

x(p)=i;

y(p)=i^3;

end

x

y

gx=(h/3)*((y(1)+y(5))+2*(y(3))+4*((y(2)+y(4))))

Result

x=

y=

Page 42

Lab manuals

1

27

Numerical Analysis

64 125

gx =

156

Simpson 3/8 Code

clc

clear all

f=@(x)x^3;

a=1;

b=5;

n=6;

h=(b-a)/n;

p=0;

for i=a:h:b

p=p+1;

x(p)=i;

y(p)=i^3;

end

x

y

gx=((3*h/8)*((y(1)+y(7))+2*(y(4))+3*(y(2)+y(3)+y(5)+y(6) )))

Result

x=

1.0000

1.6667

2.3333

3.0000

3.6667

4.3333

5.0000

y=

1.0000

Page 43

Date:

Lab manuals

Numerical Analysis

Date:

gx =

156.0000

Conclusions

Experiment # 15

Title

Implementation of Solution of First Order Differential Equations by Runge-Kutta Method

Software

MATLAB

Page 44

Lab manuals

Numerical Analysis

Date:

Theory

Runge-Kutta 2nd order method

Eulers method is given by

yi 1 yi f xi , yi h

where

x0 0

y 0 y ( x0 )

h xi 1 xi

To understand the Runge-Kutta 2nd order method, we need to derive Eulers method from the Taylor series.

y i 1 y i

dy

dx

xi 1 xi 1 d

2! dx

xi , yi

y i f ( xi , y i ) xi 1 xi

3! dx

xi 1 xi 2 1 d

2

xi , yi

xi 1 xi 3 ...

xi , yi

1

1

2

3

f ' ( xi , y i ) xi 1 xi f ' ' ( xi , y i ) xi 1 xi ...

2!

3!

As you can see the first two terms of the Taylor series

yi 1 yi f xi , y i h

are Eulers method and hence can be considered to be the Runge-Kutta 1st order method.

The true error in the approximation is given by

Et

f xi , yi 2 f xi , yi 3

h

h ...

2!

3!

So what would a 2nd order method formula look like. It would include one more term of the Taylor series as

follows.

y i 1 y i f xi , y i h

1

f xi , y i h 2

2!

Page 45

Lab manuals

Numerical Analysis

was write the 2nd order method as

f x, y

Date:

in the above method. What Runge and Kutta did

y i 1 y i a1 k1 a 2 k 2 h

where

k1 f x i , y i

k 2 f xi p1 h, y i q11k1 h

This form allows one to take advantage of the 2nd order method without having to calculate

f x, y

The formula described in this chapter was developed by Runge. This formula is same as Simpsons 1/3 rule, if

f x, y

x

were only a function of . There are other versions of the 4th order method just like there are several

versions of the second order methods. The formula developed by Kutta is

yi 1 yi

1

k1 3k 2 3k 3 k 4 h

8

where

k1 f x i , y i

1

1

k 2 f xi h, y i hk1

3

3

2

1

k 3 f xi h, y i hk1 hk 2

3

3

k 4 f xi h, y i hk1 hk 2 hk 3

Page 46

Lab manuals

Numerical Analysis

f x, y

Date:

x

is only a function of .

Code

clc

clearall

closeall

fx='y*x^2-1.2*y' ;

f=inline(fx) ;

% x0, initial condition

x0=0 ;

% y0, corresponding value of y at x0

y0=1 ;

% xf, x location at where you wish to see the solution to the ODE

xf=2 ;

a2=0.5 ;

% n, number of steps to take

n=5 ;

% Calculates constants used in the method

h=(xf-x0)/n ;

a1=1-a2 ;

p1=1/2/a2 ;

q11=p1 ;

xa(1)=x0 ;

ya(1)=y0 ;

fori=1:n

% Adding Step Size

xa(i+1)=xa(i)+h

% Calculating k1 and k2

k1 = f(xa(i),ya(i))

k2 = f(xa(i)+p1*h,ya(i)+q11*k1*h)

% Using 2nd Order Runge-Kutta formula

ya(i+1)=ya(i)+(a1*k1+a2*k2)*h

end

% The following finds what is called the 'Exact' solution

xspan = [x0 xf]

[x,y]=ode45(f,xspan,y0)

[x' y']

plot(x, y,'r*')

holdon

plot(ya)

Result

xa =

Wah Engineering College

Page 47

Lab manuals

0

Numerical Analysis

0.4000

k1 =

-1.2000

k2 =

-0.5408

ya =

1.0000

0.6518

xa =

0

0.4000

0.8000

k1 =

-0.6779

k2 =

-0.2132

ya =

1.0000

0.6518

0.4736

xa =

0

0.4000

0.8000

1.2000

k1 =

-0.2652

k2 =

0.0882

ya =

1.0000

0.6518

0.4736

0.4382

xa =

0

0.4000

0.8000

1.2000

1.600

Page 48

Date:

Lab manuals

Numerical Analysis

Conclusion

Page 49

Date:

## Much more than documents.

Discover everything Scribd has to offer, including books and audiobooks from major publishers.

Cancel anytime.