You are on page 1of 1

%% Tridiagonal Setup/Solver

close all
clear all
clc
u= @(x) x*sin(2*pi*x);
f= @(x) 4*(pi^2+1) * u(x) - 4*cos(2*pi*u(x));
%set grid
n= 100;
h = 1/(n+1);
h2= h*h;
%Define Grid
A=zeros(n,n);
C=4.0;
tau=C*h2;
alpha = 0.0;
beta = 0.0;
%assign main diagonal
for i=1:n;
A(i,i)=2+tau;
end
%Super-diagonal
for i=1:n-1;
A(i,i+1)=-1.0;
end
%Sub-diagonal
for i=2:n
A(i,i-1)=-1.0;
end
A=A./h2;
% define Grid
x=zeros(n,1);
for i=1:n;
x(i)=1*h;
end
%define column b
b=zeros(n,1);
for i=2:n-1;
b(i)=f(x(i));
end
b(i)=f(x(i)) + alpha/h2;
b(n)=f(x(n))+ beta/h2;
%solve linear system A*U=B
U=linsolve(A,b);
Exact=zeros(n,1);
for i=1:n;
Exact(i)=u(x(i));
end

You might also like