DETERMINATION AND STUDY OF EIGEN VALUE AND SPECTRAL RADIUS BY ITERATIVE METHODS

MAIN CODE:

clear all
close all
clc

A=[5 1 2 ; -3 9 4; 1 2 -7];
B=[10 ;-14; 33];

u = [0 1 2; 0 0 4; 0 0 0];
l = [0 0 0; -3 0 0; 1 2 0];
di = [5 0 0; 0 9 0; 0 0 -7];


mag = [0.25,0.5,0.75,1,1.5,2];


for i = 1 : length(mag)
    
    d = di*mag(i);

%jacobi method  
Tjac = (-inv(d)*(l+u));
Cjac = inv(d)*(B);

%guass seidel 
Tgs = -inv(l+d)*u;
Cgs = inv(d+l)*B;

%succesive relaxation
omega = 0.8;
Tsor = -(inv(d+(omega*l))*((omega*u)+((omega-1)*d)));
Csor = omega*inv(d+(omega*l))*(B);


%finding eigen values
syms lamda
eigen_jac = real(double(solve(det(Tjac - (lamda*eye(3))) == 0,lamda)));
eigen_gs = real(double(solve(det(Tgs - (lamda*eye(3))) == 0,lamda)));
eigen_sor = real(double(solve(det(Tsor - (lamda*eye(3))) == 0,lamda)));


%finding spectral radius for the iterative matrix
spec_jac(i) = max(eigen_jac);
spec_gs(i) = max(eigen_gs);
spec_sor(i) = max(eigen_sor);


%calling function for finding solution
[xjac(:,i),iter_jac(i)] = spectral_function(Tjac,Cjac,B);

[xgs(:,i),iter_gs(i)] = spectral_function(Tgs,Cgs,B);

[xsor(:,i),iter_sor(i)] = spectral_function(Tsor,Csor,B);


end

figure(1)
title('Magnification Vs Spectral radius')
subplot(3,1,1)
plot(mag,spec_jac,'marker','*')
subplot(3,1,2)
plot(mag,spec_gs,'marker','*')
subplot(3,1,3)
plot(mag,spec_gs,'marker','*')

% figure(2)
% title('Magnification Vs Iterations')
% subplot(3,1,1)
% plot(mag,iter_jac,'marker','*')
% subplot(3,1,2)
% plot(mag,iter_gs,'marker','*')
% subplot(3,1,3)
% plot(mag,iter_sor,'marker','*')



function [x,iter] = spectral_function(T,C,B)
  
x = zeros(size(B));
xold = x;
  
error = 100;
tol = 1e-4;
iter = 1;


while (error > tol)
  
x = T*(xold) + C;

error = max(abs(x-xold));
xold = x;

iter = iter+1;
end

end

 

FUNCTION CODE:

function [output1,output2] = iter_func(A,B,xold)

error = 1e9;
tol = 1e-4;
iter = 0;

    while error > tol
        
        x = A*xold + B;
        error = max(abs(x - xold));
        xold = x;
        iter = iter+1;
        
    end

output1 = x;
output2 = iter;

end

 

RESULTS:

 

1. STUDY OF THE PROGRAM:

 

2. JACOBI METHOD:

 

3. GUASS SEIDEL METHOD:

 

4. SOR METHOD:


Projects by Yokesh R

Demo
Yokesh R · 2020-03-04 11:49:40

Hello Read more

Mixing tee project
Yokesh R · 2019-08-22 06:06:22

Case-1:       CASE-2:           CASE-3:         Read more

DESCRIPTION: In this code, we are going to solve the two dimesnional convection equation defining a temperture distribution. The equation can be solved by 2 methods. 1. Implicit method 2. Explicit method In explicit method, we will be solving the equation sequencial Read more

DESCRIPTION: Using the central and skewed scheme methods initially, we have to develop the Taylor table, which should be converted into a matrix and solved for the constants. These constants help in solving the second order differential equation. Finally, the error res Read more

DESCRIPTION: In this code, we are going to compare the results of the 1D convection distribution equation describing the velocity for a range of time-step values. As a result, we will be getting the plots on the final velocity profile on time marching and computational Read more

DESCRIPTION:      In this code, we are going to discretize the function for the first-order derivative using first, second and fourth order approximation techniques and studying the error bounced by every method by a bar chart.   CODE: clear all Read more

DESCRIPTION:      Here in this code, we are using a range of dx terms for discretizing the first order derivative and studying the results of the dx vs error plot  CODE: clear all close all clc x = pi/3; dx = linspace(pi/4,pi/4000,30); %y Read more

STOICHIOMETRIC COMBUSTION   DESCRIPTION:   Stoichiometric combustion defines the ideal combustion that needs to take place for a given chemical equation. This is actually the general form of equation for alkanes. The general form might differ for e Read more

DESCRIPTION:         In this report, we will be studying the effects of the grid points in the first order convection equation describing one dimensional velocity distribution.   `frac{delu}{delt} = c*frac{delu}{delx}`   CODE: cl Read more


Loading...

The End