0% found this document useful (0 votes)
21 views4 pages

Thomas Algorithm

Uploaded by

sunil060994834
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)
21 views4 pages

Thomas Algorithm

Uploaded by

sunil060994834
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/ 4

Thomas Algorithm

Problem-10:
function[]=thomas_algo()
clc
a=input('Enter the value a:');
b=input('Enter the value b:');
alp=input('Enter the value alpha:');
bta=input('Enter the value of beta:');
h=input('Enter the value h:');
n=((b-a)/h);

function fn1=p(x)
fn1=2;
end
function fn2=q(x)
fn2=-1;
end
function fn3=r(x)
fn3=x*exp(x)-x;
end

A=zeros(n-1,n-1);
A(1,1)=1;
A(n+1,n+1)=1;
B(1)=alp;
B(n+1)=bta;

for i=2:n
x=a+(i)*h;
A(i,i-1)=1+(h*(p(x)))/2;
A(i,i)=-h*h*q(x)-2;
A(i,i+1)=1-(h*(p(x)))/2;
B(i)=h*h*r(x);
end

A
b=B'
M=[A b]

t=size(M);
n=t(1);

for i=1:n-1
M(i,:)=M(i,:)/M(i,i);
M(i+1,:)=M(i+1,:)- M(i,:)*M(i+1,i);
end
new_M=M

Y(n)=M(n,n+1);

for i=n-1:-1:1
Y(i)= M(i,n+1)-Y(i+1)*M(i,i+1);
end
Y

for j=1:n
m(j)=a+(j)*h;
fprintf('when x=%.2f ,y=%0.4f \n',m(j),Y(j))
end
plot(m',Y,'r--o')
title('BVP by thomas algo')
xlabel('values of x')
ylabel('values of y')
end

Solution:
Enter the value a:1

Enter the value b:2

Enter the value alpha:0

Enter the value of beta:-4

Enter the value h:0.2

A=

1.0000 0 0 0 0 0

1.2000 -1.9600 0.8000 0 0 0

0 1.2000 -1.9600 0.8000 0 0

0 0 1.2000 -1.9600 0.8000 0

0 0 0 1.2000 -1.9600 0.8000

0 0 0 0 0 1.0000

b=

0.1711

0.2530

0.3636

0.5111

-4.0000
M=

1.0000 0 0 0 0 0 0

1.2000 -1.9600 0.8000 0 0 0 0.1711

0 1.2000 -1.9600 0.8000 0 0 0.2530

0 0 1.2000 -1.9600 0.8000 0 0.3636

0 0 0 1.2000 -1.9600 0.8000 0.5111

0 0 0 0 0 1.0000 -4.0000

new_M =

1.0000 0 0 0 0 0 0

0 1.0000 -0.4082 0 0 0 -0.0873

0 0 1.0000 -0.5441 0 0 -0.2433

0 0 0 1.0000 -0.6121 0 -0.5016

0 0 0 0 1.0000 -0.6528 -0.9082

0 0 0 0 0 1.0000 -4.0000

Y=

0 -0.7764 -1.6884 -2.6557 -3.5194 -4.0000

when x=1.20 ,y=0.0000

when x=1.40 ,y=-0.7764

when x=1.60 ,y=-1.6884

when x=1.80 ,y=-2.6557

when x=2.00 ,y=-3.5194

when x=2.20 ,y=-4.0000


Graph:

You might also like