Вы находитесь на странице: 1из 7

Ardylla Rommyonegge

23219036

PROBLEM 1

Find a1,a2,a3 using Gaussian Elimination and LU Decomposition in MATLAB,

𝑓(𝑥) = 𝑎1 𝑥 2 +𝑎2 𝑥+𝑎3 ; 5 ≤ 𝑥 ≤ 12

𝑓(5) = 106,8; 𝑓(8) = 177,2; 𝑓(12) = 279,2

Answer :

Gaussian Elimination Method

Matrik : [𝐴][𝑋] = [𝐵]

25 5 1 𝑎1 106,8
Matrik : [ 64 8 1] [𝑎2 ] = [177,2]
144 12 1 𝑎3 279,2

Flowchart :

START

Tentukan matrik dari persamaan linier AX=B

Step 1 : Forward Elimination


Ubah Matrik A menjadi Upper Triangular
Form

Step 2 : Back Substitution


Mencari solusi X

STOP

Matlab Algoritma Gaussian Elimination :

% MATEMATIKA LANJUT
% METODE GAUSSIAN ELIMINATION
% ARDYLLA ROMMYONEGGE 23219036
% 09 September 2019
clear;
clc;
fprintf('\n=============================================================');
fprintf('\n Solve Ax = b using Gaussian Elimination Method ');
fprintf('\n=============================================================');
% Inputan
A = [25 5 1;64 8 1;144 12 1];
b = [106.8;177.2;279.2];
%==========================================================================
[m,n] = size(A);
%==========================================================================

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036
% Initialization
x = zeros(m,1);
l = zeros(m,m-1);

% STEP 1 Forward Elimination


% Reducing Matrix A to upper triangular form
for k = 1:m-1
for i = k+1:m
l(i,k) = A(i,k)/A(k,k);
for j = k+1:n
A(i,j) = A(i,j)-l(i,k)*A(k,j);
end
b(i) = b(i)-l(i,k)*b(k);
end
end
for k = 1:m-1
for i = k+1:m
A(i,k) = 0;
end
end
%==========================================================================
% STEP 2
% Backward substitution
x(m) = b(m)/A(m,m);

for i = m-1:-1:1
sum = 0;
for j = i+1:m
sum = sum + A(i,j)*x(j);
end
x(i) = (b(i)- sum)/A(i,i);
end
fprintf('\n Solution vector :\n');
x
%==========================================================================

Result :

=============================================================
Solve Ax = b using Gaussian Elimination Method
=============================================================
Solution vector :

x =

0.290476190476189
19.690476190476197
1.085714285714274

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036

LU Decomposition Method

Matrik : [𝐴][𝑋] = [𝐵]

25 5 1 𝑎1 106,8
Matrik : [ 64 𝑎
8 1] [ 2 ] = [177,2]
144 12 1 𝑎3 279,2

[A] = [L][U]
[U] = Forward elimination
1 0 0
[L] = [𝑙21 1 0]
𝑙31 𝑙32 1

Flowchart :

START

Dekomposisikan [A] menjadi [L][U]


[A] = [L][U]
U =Matrik segitiga atas (Forward Elimination)
L = Matrik segitiga bawah (Gunakan pengali Forward Elimination)

Selesaikan [L][Z]=[B]
Untuk memperoleh [Z]

Selesaikan [U][X]=[Z]
Untuk memperoleh [X]

STOP

Matlab Algoritma LU Decomposition (function) :

function x=LUDecom(A,b)
[m,n]=size(A);
if m~=n, error('Matrik A must be square'); end

[L,U]=lu(A);
disp('L = ');disp(L)
disp('U = ');disp(U)
d=L\b;
x=U\d;
disp('Z = ');disp(d)
disp('X = ');disp(x)

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036

Result command window :

>> A = [25 5 1;64 8 1;144 12 1]

A=

25 5 1
64 8 1
144 12 1

>> b = [106.8;177.2;279.2]

b=

1.0e+02 *

1.068000000000000
1.772000000000000
2.792000000000000

>> LUDecom(A,b);
L=
0.173611111111111 1.000000000000000 0
0.444444444444444 0.914285714285714 1.000000000000000
1.000000000000000 0 0

U=
1.0e+02 *

1.440000000000000 0.120000000000000 0.010000000000000


0 0.029166666666667 0.008263888888889
0 0 -0.002000000000000

Z=
1.0e+02 *

2.792000000000000
0.583277777777778
-0.002171428571429

X=
0.290476190476190
19.690476190476193
1.085714285714268

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036

PROBLEM 2

Matrix inverse A in MATLAB,

25 5 1
Matrik A : [ 64 8 1]
144 12 1

Answer :

Matrix Inverse using LU Decomposition

Matrik inverse : [𝐴][𝐵] = [𝐼]

[A] = [L][U]
[U] = Forward elimination
1 0 0
[L] = [𝑙21 1 0]
𝑙31 𝑙32 1

Assume the first column of [B] to be [b11 b12 …..bn1]T

Flowchart :

START

Dekomposisikan [A] menjadi [L][U]


[A] = [L][U]
U =Matrik segitiga atas (Forward Elimination)
L = Matrik segitiga bawah (Gunakan pengali Forward Elimination)

Selesaikan [L][Z]=first column[B]


Untuk memperoleh [Z] first column

Selesaikan [U][X]=[Z]
Untuk memperoleh [X] first column
X=inverse first column

𝑁𝑂 In==ncolumn ?

𝑌𝐸𝑆
STOP

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036

Matlab Matrik inverse :

clear;
clc;
A=[25 5 1;64 8 1;144 12 1];
disp('A = ');disp(A)
B1=[1;0;0];
B2=[0;1;0];
B3=[0;0;1];
[m,n]=size(A);
if m~=n, error('Matrik A must be square'); end

[L,U]=lu(A);
disp('L = ');disp(L)
disp('U = ');disp(U)

d1=L\B1;x1=U\d1;
d2=L\B2;x2=U\d2;
d3=L\B3;x3=U\d3;
disp('Z1 = ');disp(d1)
disp('Z2 = ');disp(d2)
disp('Z3 = ');disp(d3)
disp('inverse A = ');disp([x1 x2 x3])

Result :

A=
25 5 1
64 8 1
144 12 1

L=
0.173611111111111 1.000000000000000 0
0.444444444444444 0.914285714285714 1.000000000000000
1.000000000000000 0 0

U=
1.0e+02 *

1.440000000000000 0.120000000000000 0.010000000000000


0 0.029166666666667 0.008263888888889
0 0 -0.002000000000000

Z1 =
0
1.000000000000000
-0.914285714285714

Z2 =
0
0
1

Z3 =
1.000000000000000
EL5000 Matematika Lanjut
Dr.Ir. Nanang Hariyanto, MT.
Ardylla Rommyonegge
23219036

-0.173611111111111
-0.285714285714286

inverse A =
0.047619047619048 -0.083333333333333 0.035714285714286
-0.952380952380953 1.416666666666667 -0.464285714285714
4.571428571428574 -5.000000000000003 1.428571428571429

EL5000 Matematika Lanjut


Dr.Ir. Nanang Hariyanto, MT.

Вам также может понравиться