Professional Documents
Culture Documents
Islamic University of Technology (IUT) Organization of Islamic Cooperation (OIC) Department of Electrical and Electronic Engineering (EEE)
Islamic University of Technology (IUT) Organization of Islamic Cooperation (OIC) Department of Electrical and Electronic Engineering (EEE)
The Gauss-Seidel method is the most commonly used iterative method. Assume that
we are given a set of n equations:
[A][X] = [B]
Suppose that for conciseness we limit ourselves to a 3 × 3 set of equations. If the
diagonal elements are all nonzero, the first equation can be solved for x1, the second
for x2, and the third for x3 to yield
𝑏1 −𝑎12 𝑥2 −𝑎13 𝑥3
𝑥1 = ………………….(1)
𝑎11
𝑏2 −𝑎21 𝑥1 −𝑎23 𝑥3
𝑥2 = ………………….(2)
𝑎22
𝑏3 −𝑎31 𝑥1 −𝑎32 𝑥2
𝑥3 = ………………….(3)
𝑎33
Now, we can start the solution process by choosing guesses for the x’s. A simple
way to obtain initial guesses is to assume that they are all zero. These zeros can be
substituted into Eq. (1), which can be used to calculate a new value for x1 = b1/a11.
Then, we substitute this new value of x1 along with the previous guess of zero for
x3 into Eq. (2) to compute a new value for x2. The process is repeated for Eq. (3) to
calculate a new estimate for x3. Then we return to the first equation and repeat the
entire procedure until our solution converges closely enough to the true values.
𝑥𝑖 −𝑥𝑖−1
|𝑒𝑎 | = | | * 100%
𝑥𝑖
x_old=x;
for i=1:n
sigma=0;
for j=1:i-1
sigma=sigma+A(i,j)*x(j);
end
for j=i+1:n
sigma=sigma+A(i,j)*x_old(j);
end
x(i)=(1/A(i,i))*(b(i)-sigma);
end
GaussItr=GaussItr+1;
normVal=norm(x_old-x);
end
fprintf('Solution of the system is : \n%f\n%f\n%f in %d iterations ',x,GaussItr);
Task:
Write a Matlab code to employ LU decomposition method to compute inverse of any
3x3 matrix.
Hints:
1. First find L and U matrix of the input matrix.
2. Use [L][D]=[1 0 0]’ to compute [D].
3. Use [U][X]=[D] to compute 1st column of inverse matrix.
4. Repeat the above steps to find 2nd and 3rd column of the inverse matrix using
[L][D]= [0 1 0]’ and [L][D]=[0 0 1]’ respectively.
[N.B : Nowhere in your solution can you use matlab function “inv” to compute any
kind of value]
To verify your code use
to get
Assignment:
Although, the code given in the lab sheet for implementing Gauss Seidel method, is
written for solving any nxn type of linear equations, it may not work for a specific type
of input sets. In which case this code will not give you proper results?
Rewrite the code in a way which will fix this problem.