Professional Documents
Culture Documents
BAB I
PENDAHULUAN
Pengenalan Program Matlab 1
Matlab merupakan bahasa pemrograman komputer berbasis windows dengan
orientasi dasarnya adalah matrik, namun pada program ini tidak menutup kemungkinan
untuk pengerjaan permasalahan non matrik. Selain itu matlab juga merupakan bahasa
pemrograman yang berbasis pada objek (OOP), namun disisi lain karena matlab bukalah
type compiler, maka program yang dihasilkan pada matlab tidak dapat berdiri sendiri, agar
hasil program dapat berdiri sendiri maka harus dilakukan transfer pada bahasa
pemrograman yang lain, misal C++. Pada matlab terdapat tiga windows yang digunakan
dalam operasinya yaitu Command Windows (layar perintah) dan figure windows (layar
Gambar), serta NotePad (sebagai tempat editor program).
Windows Pada Matlab
Menu Command windows
Command windows (layar perintah) digunakan untuk menjalankan perintah/program
yang dibuat pada layar editor matlab. Pada windows / layar ini anda dapat mengakses
perintah maupun komponen pendukung ( Help file dll ) yang ada pada matlab secara
langsung. Salah satu ciri dari Command windows ditandai dengan tanda prompt (>>). Layar
Menu Command windows terlihat dalam gambar dibawah ini.
Menu pull
down
Klik untuk
kecilkan window
Tittle
Klik untuk
besarkan window
Layar perintah
Menggeser
layar window
Untuk menggeser layar arah
horisontal
1. File
Menu file merupakan item untuk menangani set-up statement yang berhubungan dengan
file.
new
Menu New merupakan sub menu:
M-File
Membuka editor dengan laya kosong sehingga anda siap untuk membuat M-File baru (lihat
menu yang ada pada editor yang dipakai).
Figure
Figure membuat sebuah figur window (layar gambar baru).
Model
Membuat layar mode simulink (jika program matlab menyediakan fasilitas simulink).
Open M-File
Menampilkan dialog box untuk membuka sebuah M-file yang dipilih sesuai dengan pilihan pada
dialog box ke dalam editor.
Menutup window
Kotak dialog
Klik jika
pilihan
sesuai
Nama file
yang dibuka
Type ekstensi
file
Batalkan
perintah
Save workspace As
Menampilkan dialog box penyimpanan data dalam format ASCII
Kotak dialog
Directory yang
aktif
Menutup
window
Klik jika
sudah sesuai
Type ekstensi
file
Nama file
yang akan di
Batalkan
perintah
save
Pada menu ini anda diperintahkan untuk memilih letak drive, directory dan masukkan nama
file dengan extensi mat (*.mat) untuk menyimpan workspace (lembar kerja pada matlab).
Set path
Pada bagian ini digunakan untuk melakukan setting path / lintasan yang akan dikenali
oleh program pada saat ekskusi file yang telah dibuat.
Print
Mencetak semua text yang berada pada command window. Jika yang dicetak tidak
ingin semuanya maka cetak bagian (variabel) yang ingin dicetak.
Exit matlab
Perintah untuk keluar dari pelayanan matlab.
2. Edit
Menu edit adalah bagian dari matlab yang memangani fasilitas editing.
Menu edit terlihat seperti gambar
Cut
Menghilangkan text yang diblok dari command window dan text tersebut disimpan pada
cliboard.
Copy
Meng Copy (duplikat) text yang diblok dari command window ke cliboard.
Paste
Menulis text yang ada pada clipboard ke command window.
Clear Command windows
Membersihkan lembar kerja.
3. Preference
Menu option adalah bagian dari preference yang menangani setting windows matlab. Salah
satu fungsi dari bagian ini adalah sebagia berikut :
Format numeric yang dipakai:
FORMAT
Short
Long
Hex
Bank
Plus
Rational
Contoh
35.83333
35.8333333333333334
4041eaaaaaaaaab
35.83
+
215/6
Keterangan
Fixpoint dengan format 5 digit
Fixpoint dengan format 16 digit
Hexadesimal
Format dalam dolar dan sen (2 desimal digit)
Pemberian simbol +,- atau nol
Fungsi point dituliskan dalam bilangan pecahan
Loose
Tampilan numeric dengan baris baru sebelum dan sesudah matrik.
Compact
Tampilan numeric tanpa baris baru sebelum dan sesudah matrik.
Turn Echo on
Turn Echo dapat diset dalam dua kondisi yaitu: Turn Echo on dan Turn Echo Off.
Turn Echo on pada saat M-File dieksekusi maka baris-baris yang dieksekusi tidak
ditampilkan pada layar (command window).
Enabel Bacground Process
Perintah ini merupakan togle yaitu dapat diset on atau off.
Font
Menampilkan dialog box yang dapat digunakan untuk men-set spesifikasi font (huruf)
dan warna bacground pada command window yang digunakan.
4. Help
Menu help menyediakan fasilitas untuk mengakses program help dari matlab, dimana pada
menu tersebut mempunyai sub menu sbb:
Table of Contents
Index
Help Selected
About
Table of Content
Menampilkan daftar area help dari matlab yang disediakan.
Index
Menampilkan daftar alpahabet dari fungsi-fungsi pada matlab yang disediakan.
Help Selected
Mencari topik dari help pada item yang disorot dan ditampilkan pada command window.
About
Manampilkan About Box Matlab
BAB II
PENGENALAN PEMROGRAMAN
Matlab adalah paket program pemrograman matematika berbasis matrik. Pada program
matlab ada dua cara palayanan program, yaitu:
1. Secara interatif (secara langsung ), jika anda pernah menggunakan program Q-basic,
terletak pada View Immediate.
2. Dengan pemprograman, yakni program dibuat pada tempat terpisah baru dilakukan tes
pada matlab.
Pelayanan secara interaktif dilakukan dengan cara mengetikkan perintah-perintah yang
diinginkan langsung pada prompt dari matlab yang berbentuk lambang >>. Pelayanan
dengan pemprograman dilakukan dengan cara membuat / menyusun program dengan
editor dan disimpan dengan ektensi m(*.m)
Lakukan perintah dibawah ini sebagai latihan pada commnad windows sebagai pelayanan
interatif.
Membentuk matriks
>> A = [4 3 2; 4 4 3; 3 2 2]
Perintah mencari invers
>> B = inv (A)
>> C = det (A)
Mengambil bagian matriks
>> a = A(1,:);
>> a
>> c = A(:,2);
>> c
>> D = A(1,2,:);
>> D
Untuk menampilkan variabel yang aktif dalam memory komputer
>> who
Menyimpan lembar kerja
>> save temp
Menghapus lembar kerja
>> clc
Menghapus semua variabel pada lembar kerja (buffer memory)
>> load temp
>> who
Mencari ukuran dari matriks
>> [n, m] = size (A)
Untuk lebih mendalami, lakukan dan jawab pertanyaan dibawah ini:
2.3 0.5
0.6 1.5
8.2 0.5 0.1 2.0
G 5.7 8.2
9.0
1.5
2.4
0.5
0.5 0.5
1.2 2.3 4.5 0.5
[m,n] =size [g]
A
B
C
D
E
=
=
=
=
=
det [G]
inv [G]
GT
(:,2)
G(1:3,2:4)
Eye(n)
: membuat matriks identitas dengan ukuran n x n
Ones(n)
: membuat matriks satuan dengan ukuran n x n
Triu(n)
: membuat matriks segitiga atas dari matriks x
APLIKASI GRAFIK
LATIHAN 2A
Grafik 2D sebagai contoh sbb:
Membuat grafik sinus dan cosinus
x=0:0.001:2*pi
y=sin(x)
z=cos(x)
plot (x,y,'r-',x,z,'g--');
grid;
title('grafik fungsi sinus (x) dan cosinus(x)');
xlabel('nilai x');
ylabel('cos (x)atau sin (x)');
shg
LATIHAN 2B
Grafik 3 Dimensi
x=-8:0.05:8;
y=x;
[x,y]=meshgrid(x,y);
R=sqrt(x.^2+y.^2)+eps;
z=sin(R)./R;
mesh (z) ;
title('grafik sin (R)/R');
shg
TUGAS 1
1 Untuk dapat mendalami lebih materi kali ini selesaikan soal dibawah ini untuk mencari
grafik korelasi waktu dan tempatur pada data dibawah ini.
Suhu (oF)
54.2
58.5
63.8
64.2
67.3
71.5
88.3
90.1
90.6
89.5
90.4
Waktu (detik)
0
1
2
3
4
5
6
7
8
9
10
1
1
1
G
1
1
1
1
1
1
1 1 1
1
1
1
1
1 1 1
1 5 5 5 5 1 1
1 5
5 10 5 1 1
1 5 5 5 5 1 1
1
1
1
1
1 1 1
3 dimensi);
X)
Y)
Z)
Setelah menyelesaikan program diatas fahami dan buat diagram alir untuk lebih mamahami
logikanya.
Perintah:
plot
mesh
xlabel
ylabel
zlabel
title
Warna
Symbol
O
X
+
*
Kuning
Magenta
Cyan
Merah
Hijau
Biru
Putih
Hitam
Tipe Garis
Titik ()
Lingkaran (o)
Tanda (x)
Tanda (+)
Tanda (*)
Garis penuh ()
Tanda (:)
Garis titik ( )
Garis putus-putus ( )
OPERASI MATEMATIK
Operator Matematik :
Symbol
+
*
/
^
Keterangan
jumlah (plus)
kurang (minus)
Perkalian
Pembagian
Pangkat
Contoh
C=A+B
D=A-B
E=A*B
F=A/B
K=A^2
Operator ini dapat digunakan pada skalar, vector maupun matrik ( pada operasi tertentu
saja ). Jika dikenakan pada skalar maka berlaku seperti aljabar biasa.
Coba lakukan perintah dibawah ini dan perhatikan hasil operasi operasi :
a = [ 1 2 3 4 5 ];
b = [ 6 7 2 5 3 ];
c = 2;
A = a + b
B = a + c
C = a^c
D = a.*b
E = b a
F = a./b
G = a.\b
H = b.^a
Sedangkan untuk operasi dibawah ini tidak dapat dilakukan.
Coba terangkan:
a*b
a/b
a\b
b^a
TUGAS 2
1.
1.
2.
3.
4.
A = [2 -1 5 0]
A B
B + A 3
2 * A + A.^b
B./A
5 7
C
4 3
2.
1.
2.
3.
4.
B = [3 2
5.
6.
7.
8.
-1 4]
B.\A
A.^B
(2).^B + A
2*B/3.0*A
2 3
D
4 6
C * D
C + D
C/D
C\D
5.
6.
7.
8.
D C
C.*D
C./D
C.\D
BAB III
OPERASI RELASI
Operator
<
<=
>
>=
==
~=
Lebih kecil
Lebih kecil atau sama dengan
Lebih besar
Lebih besar atau sama dengan
Sama dengan
Tidak sama dengan
Operasi relasi ini sangat penting untuk aliran program yang menggunakan statement
WHILE dan IF.
Kontrol Aliran Program:
Dalam Matlab. Control aliran program itu terdiri dari FOR LOOPS, WHILE LOOPS, dan IFELSE-END.
FOR LOOPS
format penulisan secara umum statement ini adalah sebagai berikut :
for Var = Nilai Awal : Pertambahan :Nilai Akhir
perintah / baris yang akan diulang
end
Contoh:
for n = 1 : 10
x(n) = sin (n/10);
end
x
(lihat hasil nilai x)
Selain itu juga dapat digunakan perintah FOR LOOPS dalam FOR LOOPS
Contoh:
for n = 1 : 5
for m = 5 : -1 :1
A(n,m) = n^2 + m^2
end;
end;
WHILE LOOPS
Perintah pengulangan tetapi diketahui jumlah pengulangannya, sehingga diperlukan syarat
batas (syarat yang harus dipenuhi).
while Kondisi
perintah
end
Contoh:
>>
>>
>>
num = 0; eps = 1;
while (1+eps) > 1
num = num + 1
end
num
eps
IF ELSE END
10
sby (k) = y;
eror = abs (x y);
x = y;
k = k + 1;
end
x
plot (sbx, sby);
Sesudah program diatas disimpan (dilakukan dalam editor), kemudian kembali ke Matlab
dan lakukan :
1. >> jalankan file program yang sudah dibuat, dengan menuliskan nama file yang
telah disimpan.
2. >>a = 10;
3. >>akar
Pelajarilah hasil dan makna dari tiap baris dalam program ini. Catatlah semua hasil yang
perlu dalam buku catatan praktikum anda.
LATIHAN 3B (METODE NEWTON RAPHSON)
Mencari akar polinominal menggunakan metode NEWTON, dimana pada metode ini harus
diberikan turunan dari polinominal tersebut. Untuk lebih memahami metode ini perhatikan
grafik berikut ini :
f(x)
f(xi)
f(xi)
f(xi)-0
Xi Xi+1
Dari grafik diatas, nilai Xi adalah nilai X pada perkiraan awal sedangkan Xi+1, merupakan
nilai pendekatan X berikutnya, dengan menggunakan konsep segitiga maka kita dapatkan
nilai dari Xi+1 dengan persamaan sebagai berikut :
X i 1 X i
f ( xi )
f ' ( xi )
Dalam program dibawah ini diperkenalkan penggunaan Prosedur Function dalam Matlab
guna menyelesaikan metode NEWTON pada pembahasan diatas .
Buat program dibawah ini pada matlab editor atau notepad pada Microsoft windows:
% nama file zfungsi.m
% program untuk menghitung f(x) dan f(x) dengan x diketahui
% program in disertakan prosedur function
function [f,ff] = zfungsi(x)
11
k = l
[f,ff] = zfungsi(x)
while abs(f) > 0.0001
y = x f/ff
sbx(k) = x;
sby(k) = y;
k = k + 1;
x = y;
[f,ff] = zfungsi(x);
end;
x;
plot(sbx,sby)
Pelajarilah hasil dan makna dari tiap baris dalam program ini. Catatlah semua logika yang
ada dan buat diagram alirnya. Untuk lebih memahami contoh diatas, kerjakan contoh soal
dibawah ini
TUGAS 3
W0
x
1. Sebuah batang Uniform diberi beban seperti gambar:
Persamaan lendutan yang terjadi pada batang
W0
x 5 2 L2 x 3 L4 x
120 EL
p 2 v b RT
v
Dimana:
V
n
= molal volume
12
Xr
X l X u
2
4. Dengan adanya Xr, maka kita mempunyai dua bagian dari langkah 1, yakni bagian
pertama dibatasi oleh Xl ~ Xr, dan bagian ke 2 Xr ~ Xu
5. Lakukan pengecekan pada salah satu bagian misal bagian pertama, kemudian lakukan
cek dengan langkah 2, jika terpenuhi lanjutkan pada langkah 3. Namun jika pada
langkah ini tidak terpenuhi pindahkan pada bagian ke dua.
6. Dengan selalu membagi dua pada langkah 3, maka akan didapat nilai x yang paling
mendekati.
Metode ini secara grafis dapat digambarkan sebagai berikut :
f(x)
Nilai X
yang dicari
f(x)
Xl = 0
Xu = 1
Xr
X l X u
2
Sebagai contoh kita akan menyelesaikan suatu sistem massa pegas teredam dengan solusi
persamaan getaran seperti dibawah ini
13
Function[Fl]=fungsi2l(tl)
Y=0.3;
% M= Massa Benda
M=1200000;
% K= Konstanta dari pegas yang digunakan
K=125000000;
% C= Koefisien hambatan Udara
C=14000000
W=sqrt(k/m)
N=c/(2*m)
F1=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);
Simpan program diatas dengan nama fungsi2l.m
Buat program untuk menghitung batas atas yang sudah diketahui kita masukkan pada
Function[Fu]=fungsi2u(tu)
Y=0.3;
% M= Massa Benda
M=1200000;
% K= Konstanta dari pegas yang digunakan
K=125000000;
% C= Koefisien hambatan Udara
C=14000000
W=sqrt(k/m)
N=c/(2*m)
Fu=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);
Simpan program diatas dengan nama fungsi2u.m
Sekarang buat program untuk menghitung nilai F untuk menghitung nilai rata-rata, yang
didapat dari batas atas (fungsi2u.m) dan batas bawah (fungsi2l.m)
Function[Fu]=fungsi2u(tu)
Y=0.3;
% M= Massa Benda
M=1200000;
% K= Konstanta dari pegas yang digunakan
K=125000000;
% C= Koefisien hambatan Udara
C=14000000
W=sqrt(k/m)
N=c/(2*m)
F=y*exp(-n*tl)*(cos(w*tl)+n*sin(w*tl)/w);
Simpan program diatas dengan nama fungsi2.m
Satelah file pendukung diatas selesai maka siapkan file yang berfungsi untuk melakukan
bagi dua.
Clc
Tl=input( Batas bawah :);
Tu=input( Batas atas:);
K=0;
Eror=1;
[Fl]=fungsi2l(tl)
[Fu]=fungsi2u(tu)
14
while eror>0.001;
tr=(tl+tu)/2;
k=k+1
t=tr;
[F]=fungsi2(t);
eror=abs((tu-tl)/(tu+tl));
sbx(k)=t;
sby(k)=F;
test=F*Fu;
if test<0
tl=tr;
else test<0
tu=tr;
end
[Fl]=fungsi2l(tl);
[Fu]=fungsi2u(tu);
end
plot(sbx,sby)
t
%Akhir Program
15
16
f (b)
Karena
f (b) f (a)
f (b) f (a)
bc
ca
Dalam Metode ini, nilai c adalah nilai perkiraan baru berdasarkan perkiraan dari nilai a dan b
sebelumnya. Sehingga untuk nilai Xi+1 sebagai nilai perkiraan berikutnya adalah :
f(b)
f(x)
X i 1 X i
a
c
f(a)
17
f ( xi )
.( xi xi 1 )
f ( xi ) f ( xi 1 )
BAB IV
MENCARI SOLUSI SISTEM DARI PERSAMAAN LINIER
Tugas kali ini anda diajak untuk menyelesaikan solusi dari beberapa persamaan linier.
Bentuk umum sistem persamaan linier dengan n buah variebel dan n buah persamaan yang
dapat dituliskan kedalam bentuk persamaan berikut ini :
a11x1 + a12x2 + a13x3 + + a1nxn = b1
a21x1 + a22x2 + a23x3 + + a2nxn = b2
dengan [A] =
[X] =
a13 a1n
a23 a2n
a11
a21
a12
a22
an1
an2
x1
x2
xn
an3 ann
b1
b2
,[B] =
bn
Pada bagian ini akan dibahas beberapa penyelesaian sistem dari persamaan tersebut
secara simultan sehingga diperoleh nilai dari beberapa variabel tersebut.
= [B]
= [A]-1 * ([B])
= [A]-1 * [B]
= [A]-1 * [B]
= invers dari matriks [A]
= matriks identitas
18
LATIHAN 4A
Untuk mempermudah pemahaman lakukanlah petunjuk dibawah ini untuk menyelesaikan
sistem persamaan linier berikut ini :
3x1 + 2x2 x3 = 10
-x1 + 3x2 2x3 = 5
x1 + x2 x3 = 1
Persamaan tersebut dapat ditulis dalam bentuk :
[A] * [X] = [B]
lebih detailnya adalah :
[A] =
3 2 1
-1 3 2
1 1 1
, [X] =
X1
X2
X3
, [B] =
10
5
1
Note:
Bandingkan jika anda menyelesaikannya, dengan program lain semisal Qbasic atau Turbo Pascal
V * A1 *U B atau B V * A1 *U
LATIHAN 4B
Program mencari invers dengan metode SMW
for k = 1 : n:
z = 1 + 1 + a (k,:) * c(:, k);
function [A] = invers SMW [A}
%Mencari invers dengan metode SMW
%Matriks yang dicari dimasukkan
[m, n] = size(a);
c = a eye (n, n);
a = eye (n, n)
a = a a * c(:, k) * a (k, :)/z;
end;
Sesudah disimpan siapkan file lain seperti dibawah ini, untuk menyelesaikan persamaan
diatas :
A = [3, 2, -1; -1, 3, 2; 1, -1, -1];
B = [10, 5, 1];
X = C * B
19
Jangan mengerjakan tugas selanjutnya apabila saudara belum paham benar tentang program ini
TUGAS 4
Untuk lebih memahami selesaikanlah persamaan dibawah ini dengan program diatas :
1)
-2x1 + x2
x1 + x2
= -3
= 3
5. )
3x1 + 2x2 x3
-x1 + 3x2 2x3
x1 + x2 x3
= -3
= 5
= -1
2)
-2x1 + x2
-2x1 + x2
= -3
= 1
6)
-3x1 + 2x2 x3
-x1 + 3x2 + 2x3
x1 + x2 x3
= 1
= 1
= 1
3)
-2x1 + x2
-6x1 + x2
= -3
= 9
7)
10x1 + 7x2
-3x1 + 2x2 6x3
5x1 + x2 + 5x3
= 7
= 4
= 6
4)
-2x1 + x2
-2x1 + x2
= -3
= -3,0001
8)
=
=
dengan [A] =
a13 a1n
a23 a2n
a11
a21
a12
a22
an1
an2
an3 ann
20
[X] =
x1
x2
xn
c1
c2
,[C] =
cn
(a 21
a 21 x1
a11
a 21
a
a
a12 x2 ....... 21 a1n xn 21 c12 .. pers G.4
a11
a11
a11
kurangkan persamaan G.4 dari persamaan G.2 agar diperoleh persamaan baru :
a
a
a
a 22 21 a12 x2 ....... a 2 n 21 a12 xn c2 21 c1
a11
a11
a11
.. pers
:G.4.d
untuk langkah selanjutnya, persamaan G.1 disebut sebagai persamaan poros(pivot), dan
a11 sebagai koefisien poros. Proses pembagian seperti a12/a11 atau a31/a11 disebut
normalisasi. Pada proses normalisasi tersebut dapat saja terjadi pembagian dengan
nol(tidak terdefinisi), sehingga metode ini disebut dengan Eliminasi gauss Naif
Sekarang kita lanjutkan untuk mengeliminasi x2 dari persamaan G.4b, maka persamaan ini
kita jadikan sebagai persamaan poros (pivot) sebagaimana pada langkah sebelumnya
(langkah saat eliminasi x1) Yaitu dengan mengalikan persamaan G.4b dengan a32/a22 dan
mengurangkan hasilnya dengan dari persamaan G.4.c. Kemudian lakukan eliminasi yang
21
sama untuk persamaan keempat, kelima dan seterunya sehingga dihasilkan persamaan
sebagai berikut :
a11x1 + a12x2 + a13x3 + + a1nxn = c1
a22x2 + a23x3 + + a2nxn = c2
a33x3 + + a3nxn = c3
=
an3x3 + + annxn = cn
Langkah eliminasi dapat diteruskan menggunakan persamaan lain dibawahnya sebagai
persamaan poros. langkah ini berakhir sampai pada persamaan ke(n-1), untuk
mengeliminasi variabel Xn-1 dari persamaan ke-n. setelah hal ini selesai anda lakukan maka
akan terbentuk suatu system persamaan matrik segitiga atas :
a11x1 + a12x2 + a13x3 + + a1nxn = c1
G.5a
a22x2 + a23x3 + + a2nxn = c2
G.5b
a33x3 + + a3nxn = c3
G.5c
=
( n 1)
ann
xn cn( n1)
G.5d
Setelah kita dapatkan matrik segitiga atas, maka kita dapat lakukan eliminasi mau untuk
mendapatkan nilai-nilai x1,x2 serta x3. Dari persamaan G.5d dengan mudah kita bisa
dapatkan nilai dari xn
xn
c n( n 1)
( n 1)
a nn
hasil ini kita subtitusikan ke persamaan ke (n-1) untuk memperoleh nilai x(n-1). Langkah
subtitusi ini dilanjutkan terus sampai persamaan ke-1 untuk memperoleh nilai x1. Secara
umum langkah subtitusi ini dapat dituliskan sebagai berikut :
c1(i 1)
X1
j i 1
( i 1)
ij
xj
aii(i 1)
Jika anda masih sulit memahami, perhatikan sekali lagi ilustrasi berikut ini :
Misalkan kita mempunyai system persamaan dengan dimensi matrik adalah (3,3)
a11 a12
a
21 a 22
a31 a32
a13
a 23
a33
x1 c1
x c
2 2
x3 c3
Jika matrik ini kita perlebar maka kita dapatkan matrik baru :
a11 a12
a
21 a 22
a31 a32
a13 c1
a 23 c 2
a33 c3
setelah kita lakukan langkah eliminasi maju akan dihasilkan matrik segitiga atas sebagai
berikut :
a11 a12
0 a'
22
0
0
a13 c1
a' 23 c' 2
a"33 c"3
22
Langkah 2
Kemudian kita lakukan subtitusi balik untuk mendapatkan nilai :
c3"
x3 "
a33
a' 23 .x3
a' 22
c a12 x2 a13 x3
x3 1
a11
x2
"
2
Untuk menyelesaikan permasalahan eliminasi gauss, secara komputasi coba anda kerjakan
program latihan 4c, pada dasarnya program ini belum sempurna untuk itu lakukan
pembenahan pada program sehingga masil matematis dan program terdapat kesamaan.
LATIHAN 4C
%Program Eliminasi Gauss dengan pertukaran
%Matriks a ukuran [n, n] dimasukkan
%Matriks b ukuran [1, n] dimasukkan
[m, n] = size(a);
for i = 1 : 1 : (n 1)
g = eye (n, n);
j = i
while a(i, j) == 0
c = a(j, :);
d = b(j);
a(j, :) = a(j+1, :);
b(j) = b(j+1);
a(j+1, :) = c;
b(j+1) = d;
end;
for k = 1 :1 : n
if i == k
g(k, i) = a(k, i) / a(i, i);
else
g(k, i) = -a(k, i) / a(i, i);
end;
a = g * a;
b = g * b;
end;
%Untuk melihat hasil akhir Eliminasi Gauss
a
%matriks segitiga atas
b
%Mencari solusi X1, X2, , Xn
x = zeros (n, 1);
for i = n : -1 : 1
c = 0;
for j = 1 : 1 :n
if i ~= j
c = c + ( a(i, j) * x (j));
23
baris
end;
end;
x(i, 1) = (b(i) c) / a (i, i);
end;
%Menampilkan hasilnya
x
Jika sudah selesai simpan dengan nama file GAUSS.M. Setelah itu kerjakan pada prompt
Matlab :
a = [ 1, 4, -1, 1; 2, 7, 1, -2; 1, 4, -1, 2; 3, -10, -2, 5]
b = [2, 16, 1, -15]
gauss
Nilai x adalah solusi dari persamaan diatas
TUGAS 5
Pada tugas ini anda diharapkan lebih memahami penyelesaian persoalan numerik dengan
metode matriks (terutama memahami logika numerik ke dalam logika pemrograman). Untuk
lebih memahami logika pemrograman di atas selesaikan permasalahan di bawah ini.
1. Analisa Struktur
1000 lb
1
F2
900
H2
300
F2
F3
600
V3
V2
Tentukan besarnya : F1, F2, F3, H2, V2, V3
2. Elektronika Dasar
R1=1
+
-
i1
R3=1
R5=1
R2=1
i2
R4=1
i3
V1=5V
+
-
V2=5V
24
f(x)
g(x)
x
Dengan Metode Leaast Square Regresi Linier (orde 1) diperoleh :
1
1
yi xib y b x
n
n
dan
n xi yi xi yi
n xi2 xi
dimana :
n = jumlah data percobaan
Sehingga diperoleh persamaan linierisasi :
g(x) = a + bx
Agar lebih mudah untuk mengembangkan logika kita ke regresi yang lebih besar hal
tersebut dapat dibentuk dalam matrik :
xi
x
x
2
i
a1 yi
a =
2 xi yi
dimana:
a1 = a
a2 = b
Untuk menentukan a1dan a2 , setelah ketemu bentuk matrik, dapat digunakan bentuk
metode invers atau metode matriks Gauss
25
LATIHAN 4D
Program
% Masukkan data pada matriks [dat] dengan ukuran [n, 2]
% dat1 sebagai harga x dan dat2 sebagai harga x dan dat2 sebagai harga y
[n,m] = size (data)
y = sum (dat(:,2));
x
%y= y
% x2 = [x12]
x = sum (dat(:,1));
%x=
20
60
68
77
110
Regrasi Orde 2
Untuk Regresi Orde 2 matriks yang digunakan dibentuk sebagai berikut :
xi
2
xi
x y
x x y
x y
3
i
2
i
2
1 i
g(x) = a0 + a1 x + a2 x2
26
LATIHAN 4E
% Program Regresi Polinomial orde 2
% Masukkan data pada matriks [dat}
[n,m] = size (dat); % n jumlah data
x = zeros (n,4); % 4 asalnya dari 2* orde regresi
y = zeros (n,4);
A = zeros (1,5); % 5 asalnya dari (2*orde reg) + 1
B = zeros (1,3); % 3 asalnya dari orde regresi + 1
a = zeros (3,3);
% Membuat matriks Xi, Xi 2,Xi3,Xi4 pada matriks X
% Matriks matriks Yi, XiYi, Xi 2Yi pada matris Y
for i = 1 : 1 : n
for j = 1:1:4
X (i,j) = dat (i,1)^j;
end;
for j = 0 : 1 : 2
A(1,i+1) = (dat (i,1)^j)* dat (I,2)
end;
end;
n Xi, Xi , Xi , Xi
% membuat matriks B = Yi , XiYi , Xi Yi
% membuat matriks A =
A(1,1) = n;
for i=1:1:4
A(1,i+1) = sum(X(:,i);
end;
for i=1:1:3
B(1,i) = sum(Y(:I));
end;
27
28
BAB V
Metode Runge-Kutta
Metode yang paling populer untuk integrasi sebuah persamaan differensial adalah RungeKutta. Metode Runge-Kutta menggunakan pendekatan deret Taylor. Di dalam Matlab
tersedia fungsi Runge-Kutta menggunakan perintah orde 2,3,4, dan 5. Yaitu orde 2,3 dan
orde 4,5. Sebuah massa pegas:
d 2x
dx
b kx 0
2
dt
dt
Pegas(k)
mx bx kx 0
b
kx
x x
m
m
Massa (m)
beban
b
k
x1 x1 x 2
m
m
x 2 x1
Dengan
x x2
x1 x 2
x1 x 2
LATIHAN 5A
y ' g ( x, y )
xe
3y 2
LATIHAN 5B
Program :
function xdot = maspeg(t,x)
m = 0,5; b = 0,5:
k=3
xdot = zeros(2,1);
xdot (1) =
b
k
* x(1) * x(2);
m
m
20 dengan orde 23
tf = 20;
0,25];
29
Kondisi awal :
[t,x] = ode 23 ('maspeg',to,to,xo);
plot (t,x);
Karena syarat batas pada x = 2 == y = 0,5
dy 3x
Maka
dx
y = x3 + c
Masukkan syarat batas :
0,5 = (2)3 + c
c = -7,5
Sehingga diperoleh integrasi secara analitik dengan diperoleh
y = x2 7,5
Mari kita bandingkan hasil analitik dengan numerik dengan cara membuat grafiknya.
Program untuk merumuskan persoalan
function y.dot = g,(x,y);
y.dot = 3*x^2;
Program Pemanggil:
Mendapatkan solusi y pada interval [2,4] dengan dimensi y = f(2) sama dengan 0,5
[v,num-y] = ode 23 ('g1',2,4,0.5);
ax-y = x.^3-7,5
subplot (211), plot (x,num-y,x,ax-y,'0'),
title ('solusi dy = 3+x^2'),.
xlabel('x');
ylabel ('y=f(x)'),grid.
Latihan 5C
Sebuah system massa pegas
d 2 x1
k1 k ( x 2 x1 )
dt 2
d 2 x2
m2
k k ( x 2 x1 ) kx2
dt 2
m1
Dimana
k
m
k
X1
m
x1
k
k
x1
( x 2 x1 )
m1
m1
x2
k
k
( x 2 x1 )
x2
m2
m2
k
X2
30