MODUL I Dan II
MODUL I Dan II
MODUL I dan II
PENGENALAN MATLAB
Tujuan
Pada praktikum ini diharapkan mahasiswa dapat mengenal dan dapat
mengoperasikan MATLAB.
Landasan Teori
MATLAB adalah suatu program interaktif untuk komputasi matriks. Versi awal dari
MATLAB, yaitu singkatan dari matrix laboratory, telah dikembangkan oleh Cleve
Moler dari kepustakaan perangkat lunak Unpack dan Eispack. Selama bertahun-tahun
sampai saat ini MATLAB telah mengalami serangkaian perluasan dan revisi.
Dewasa ini MATLAB telah menjadi perangkat lunak terkemuka untuk perhitungan-
perhitungan ilmiah. Versi profesional dari MATLAB didistribusikan oleh Math
Works, Inc. di Natick, Massachusetts.
Elemen-elemen dasar
Elemen-elemen dasar yang digunakan dalam MATLAB adalah matriks. Sekali suatu
matriks telah dimasukkan atau disusun, pengguna dengan cepat dapat melakukan
perhitungan-perhitungan canggih dengan jumlah pemrograman yang minimal.
Untuk memasukkan matrik pada MATLAB, ada beberapa cara yang dapat
dilakukan :
Memasukkan secara langsung dengan menuliskan semua elemennya.
Meng-load matrik dari file eksternal.
Meng-generate matrik menggunakan fungsi-fungsi built-in
Membuat matrik dengan fungsi yang Anda buat sendiri dan disimpan dalam
file.
Untuk membuat array dengan empat elemen pada satu baris, setiap elemen harus
dipisahkan dengan koma (,) atau spasi. Contohnya sebagai berikut :
A = [1 2 3 4]
Untuk membuat matrik yang memiliki beberapa baris, maka setiap barisnya harus
dipisahkan dengan tanda titik koma (;). Contohnya sebagai berikut :
A = [1 2 3; 4 5 6; 7 8 10]
Sedangkan contoh berikut ini adalah matrik berukuran 3x3 dengan elemen-
elemennya dibangkitkan secara random :
R = rand(3,3)
R =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
Selain itu, untuk membuat matriks segitiga atau matriks diagonal kita dapat
menggunakan fungsi-fungsi MATLAB triu, tril, dan diag. Perintah-perintah untuk
menyusun matriks dapat digunakan untuk membuat blok-blok sebagai bagian dari
partisi matriks. Sebagai contoh, perintah MATLAB
1 0 1 1 1
0 1 1 1 1
0 0 1 2 3
0 0 3 2 1
A + 10
ans =
11 12 13
14 15 16
17 18 20
Untuk melakukan transpose pada sebuah matrik, gunakan tanda petik atas (‘) :
A’
ans =
1 4 7
2 5 8
3 6 10
Untuk melakukan perkalian pada matrik, gunakan operator (*). Sebagai contoh,
sebuah matrik apabila dikalikan dengan hasil inversnya maka akan menghasilkan
matrik identitas :
P = A * inv(A)
P =
1.0000 0 -0.0000
0 1.0000 0
0 0 1.0000
Operasi pada array sangat bermanfaat untuk pembentukan tabel. Misal diberikan
n sebuah vector kolom sebagai berikut :
n = (0:9)’;
kemudian fungsi berikut ini akan membuat sebuah tabel yang berisi bilangan
kuadrat dan perpangkatan dari 2 :
pows = [n n.^2 2.^n]
pows =
0 0 1
1 1 2
2 4 4
3 9 8
4 16 16
5 25 32
6 36 64
7 49 128
8 64 256
9 81 512
Untu
k mengetahui lebih detail cara penggunaan dari masing-masing fungsi tersebut,
pada Command Window ketikkan :
help nama_fungsi
kemudian tekan enter.
Konkatenasi
Konkatenasi merupakan proses penggabungan dua buah array sehingga diperoleh
sebuah array dengan ukuran yang lebih besar. Tanda [] merupakan operator untuk
konkatenasi.
B = [A,A]
B =
1 2 3 1 2 3
4 5 6 4 5 6
7 8 10 7 8 10
Operasi di atas disebut dengan konkatenasi horizontal dan dapat dilakukan apabila
banyaknya baris kedua array sama. Selain itu, apabila banyaknya kolom pada dua
buah array sama maka dapat dilakukan operasi konkatenasi vertikal sebagai
berikut :
B = [A;A]
B =
1 2 3
4 5 6
7 8 10
1 2 3
4 5 6
7 8 10
Terdapat dua buah cara untuk mengakses suatu elemen tertentu pada sebuah array.
Cara paling umum adalah dengan menyebutkan baris dan juga kolomnya seperti
contoh berikut:
A(3,4)
ans =
12
Cara kedua adalah dengan melakukan iterasi ke bawah pada setiap kolom secara
berurutan :
A(15)
ans =
12
Anda juga dapat menambahkan satu elemen baru pada matrik di luar ukuran
dimensi saat ini. Secara otomatis ukuran matrik akan bertambah sehingga dapat
menampung elemen tersebut.
A(4,5) = 17
A =
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17
Untuk mengakses beberapa elemen pada array, gunakan operator (:) yang
memungkinkan Anda untuk menspesifikasikan rentang dalam format start:end.
Sebagai contoh, berikut ini akan ditampilkan tiga elemen pertama pada kolom ke-
2 matrik A :
A(1:3,2)
ans =
2
11
7
Jika tidak dituliskan nilai awal maupun nilai akhir, maka penggunaan tanda (:)
akan menspesifikasikan semua elemen pada baris atau kolom yang dimaksud.
Sebagai contoh, berikut ini akan ditampilkan semua elemen pada baris ke-3
matrik A :
A(3,:)
ans =
9 7 6 12 0
Jika yang ingin dihapus hanya satu buah elemen saja, maka hasilnya bukan lagi
sebuah matrik,
sehingga ekspresi seperti berikut ini :
X(1,2) = []
akan menghasilkan error
Aritmetika Matriks
Aritmetika matriks dalam MATLAB dapat dilakukan secara langsung. Kita dapat
mengalikan matriks awal A dikalikan dengan B hanya dengan mengetikkan A * B.
Jumlah dan selisih dari A dan B masing-masing diberikan oleh A + B dan A - B.
Transpos dari A diberikan oleh A'. Jika c menyatakan suatu vektor di dalam R4, maka
pemecahan dari sistem linear Ax = c dapat dihitung dengan menuliskan
x= A ¿
ans =
0 1 1
1 1 0
0 0 1
Terdapat tiga operator logika seperti diperlihatkan di bawah ini.
Operator Logika
& AND
| OR
~ NOT
Grafik
Jika x dan y adalah vektor-vektor dengan panjang yang sama, maka perintah
plot(x, y) akan menghasilkan grafik dari semua pasangan-pasangan (xi, yi) dan
setiap titik akan dihubungkan ke titik berikutnya dengan suatu segmen garis. Jika
koordinat-koordinat x diambil secara cukup berdekatan, maka gambar grafik harus
mirip sebuah kurva halus. Perintah plot(x, y, 'x') akan menggambarkan pasangan-
pasangan terurut dengan x tetapi tidak menghubungkan titik-titik tersebut
sin x
f ( x)
Sebagai contoh, untuk menggambar fungsi x 1 pada interval [0 , 10]
tetapkan
x = 0 : 0.2 : 10 dan y = sin(x)./(x + 1)
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7 8 9 10
Gambar 1
Adalah juga mungkin menggambarkan jenis-jenis fungsi yang lebih canggih dalam
MATLAB, termasuk koordinat-koordinat polar, permukaan tiga dimensi, dan plot
kontur.
Fungsi dalam M-File
Pada dasarnya, semua tools yang disediakan oleh MATLAB dibuat dalam format
fungsi dan dikelompokkan ke dalam folder-folder toolbox. Selain menggunakan
fungsi-fungsi yang telah ada tersebut, kita juga dapat membuat fungsi-fungsi
sendiri sesuai kebutuhan. Keuntungan membuat program dalam format fungsi
adalah kemudahannya untuk digunakan lagi pada program lainnya. Berikut ini
pola untuk menuliskan fungsi pada MATLAB :
Function [out1,out2,…] = Nama (in1,in2,…) bagian deklarasi fungsi
% penjelasan bagian penjelasan fungsi (opsional)
- perintah - bagian program utama
- perintah –
Agar lebih memahami cara penulisan fungsi, perhatikan contoh program berikut :
function y = pangkat(a,b)
%----------------------------------------
%fungsi untuk menghitung perpangkatan a^b
%cara menggunakan :
%y = pangkat(2,10)
%----------------------------------------
hasil = 1;
for i=1:b
hasil = hasil * a;
end
y = hasil;
Simpan program di atas dengan nama sama dengan nama fungsinya yaitu
pangkat.m. Untuk menggunakan fungsi tersebut, pada Command Window
ketikkan perintah sebagai berikut :
>> y = pangkat(2,6)
Fasilitas Help
MATLAB memiliki fasilitas HELP yang mendaftarkan dan menguraikan fungsi-fungsi,
operasi-operasi, dan perintah-perintah dalam MATLAB. Untuk memperoleh informasi
mengenai perintah MATLAB, kita hanya perlu mengetikkan help yang diikuti dengan
nama dari perintahnya.
Pertanyaan
3 2 5 4
A 1 3 8 0
6 3 1 3
Misalkan diberikan matriks . Tentukan nilai maksimum,
minimum dan jumlah dari setiap elemennya.
Tugas
Buat program untuk matriks berukuran 4 x 4 untuk menghasilkan total nilai dan
nilai rata-rata dari suatu matriks.(dengan menggunakan M-file)
Tujuan
Pada praktikum ini, mahasiswa diharapkan dapat melakukan komputasi yang
berkaitan dengan vektor dan matriks dengan menggunakan MATLAB
Landasan Teori
Vektor dalam matematika dan fisika adalah obyek geometri yang memiliki besar
dan arah. Sedangkan Matriks adalah kumpulan bilangan berbentuk persegi
panjang yang disusun menurut baris dan kolom. Bilangan-bilangan yang terdapat
di suatu matriks disebut dengan elemen atau anggota matriks. Dengan representasi
matriks, perhitungan dapat dilakukan dengan lebih terstruktur. Pemanfaatannya
misalnya dalam menjelaskan persamaan linier, transformasi koordinat, dan
lainnya. Matriks seperti halnya variabel biasa dapat dimanipulasi, seperti
dikalikan, dijumlah, dikurangkan dan didekomposisikan.
A1=A*B;
A2=B*A;
A3=(A'*B');
A4=(B'*A')';
sel12=A1-A2
sel13=A1-A3
sel14=A1-A4
sel23=A2-A3
sel24=A2-A4
sel34=A3-A4
dengan output:
sel12 =
sel13 =
sel14 =
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
sel23 =
sel24 =
sel34 =
function U = up(A)
% function to make a upper triangular matrix
n=length(A);
m=zeros(n,1);
x=zeros(n,1);
for k =1:n-1;
%compute the kth column of M
m(k+1:n) = A(k+1:n,k)/A(k,k);
for i=k+1:n;
A(i, k+1:n) = A(i,k+1:n)-m(i)*A(k,k+1:n);
end;
end;
U= triu(A);
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
R =
1 0 0 1
0 1 0 3
0 0 1 -3
0 0 0 0
Pertanyaan
Tugas
Buatlah dengan menggunakan M-file function, suatu fungsi untuk
membuat matriks segitiga bawah dari suatu matriks persegi. Dan coba fungsi
tersebut untuk sembarang matriks persegi.
MODUL V&VI
SISTEM PERSAMAAN LINIER
Tujuan
Setelah praktikum ini, diharapkan mahasiswa dapat menyelesaikan SPL dengan
menggunakan MATLAB.
Landasan Teori
Persamaan linear adalah sebuah persamaan aljabar, yang tiap sukunya
mengandung konstanta, atau perkalian konstanta dengan variabel tunggal.
Persamaan ini dikatakan linear sebab hubungan matematis ini dapat digambarkan
sebagai garis lurus dalam Sistem koordinat Kartesius. Sedangkan sistem
persamaan linear adalah kumpulan dari persamaan linear yang saling berkaitan.
Kekonsistenan SPL
o Suatu SPL dikatakan konsisten jika SPL tersebut memiliki solusi.
Ekivalensi SPL
o Dua sistem persamaan linear dikatakan ekivalen jika solusi nya
sama.
x = A\b
x = inv(A)*b
rref([A b]) , dengan kolom terakhir merupakan solusi dari SPL
dengan membuat fungsi eliminasi gauss melalui M-File
Pertanyaan
1) Buatlah suatu matriks 8 8 dan suatu vektor di R8, yang kedua-duanya
memiliki entri-entri bilangan bulat dengan mendefinisikan
A = round(10 * rand(8)) and b = round(10 * rand (8,1))
(a) Kita mencari penyelesaian x dari sistem Ax = b dengan menggunakan
operasi “\”.
(b) Selanjutnya marilah kita selesaikan sistem dengan menggunakan reduksi
Gauss-Jordan. Hitunglah bentuk eselon baris tereduksi dari matriks yang
diperbesar (A b). hal ini dapat dilakukan dengan perintah MATLAB
U=rref([A,b]).Untuk perhitungan yang teliti kolom terakhir dari
bentuk eselon baris tereduksi matriks yang diperbesar harus menjadi
penyelesaian dari sistem. Mengapa?. Definisikan y sebagai kolom terakhir
dari U.
(c) Penyelesaian-penyelesaian x dan y yang diperoleh dari kedua metode
tersebut tampaknya sama, tetapi, jika Anda mengamati lebih banyak dijit
dari vektor-vektor tersebut dengan menggunakan perintah format long,
maka Anda akan melihat bahwa penyelesaian-penyelesaian itu tidak identik.
Sampai beberapa dijit kedua vektor itu adalah sama? Satu cara yang lebih
mudah untuk membandingkan kedua vektor adalah dengan menggunakan
format short dan melihat pada selisih x -y
(d) Yang manakah dari kedua penyelesaian x dan y yang lebih teliti ? Untuk
menjawab pertanyaan ini, bandingkan masing-masing dari kedua hasil kali
Ax dan Ay dengan ruas kanan b. Cara yang paling sederhana untuk
melakukan hal ini adalah dengan melihat selisih-selisih r = b - Ax dan s =
b - Ay. vektor-vektor r dan s masing-masing disebut vektor-vektor sisa
(residual vectors) untuk penyelesaian-penyelelesaian x dan y. Yang
manakah dari penyelesaian-penyelesaian tersebut memiliki vektor terkecil?
2) Definisikan A = round (10 * rand (6)). Dengan definisi ini maka
matriks A akan memiliki entri-entri bilangan bulat. Marilah kita ubah kolom
keenam dari A sehingga membuat matriksnya singular. Definisikan:
B = A', A(:, 6) = - sum(B(l : 5, :))'
Hasil kali AB harus sama dengan matriks nol. Mengapa? Terangkan. Periksa
bahwa hal ini adalah menang demikian dengan menghitung AB dengan
menggunakan operasi MATLAB
(c) Definisikan
C = round(10 * rand(6)) dan D=B+C
Tugas
1) Buatlah suatu matriks A dengan mendefenisikan
A = round(10 * rand(6))
dan buatlah suatu vekor b dengan mendefinisikan
b = round(10 * rand(6,1))
a) Karena A telah dibentuk secara sembarang, kita mengharapkan bahwa A ini
taksingular. sistem Ax = b harus memiliki penyelesaian tunggal. Carilah
penyelesaiannya dengan menggunakan operasi " \". Gunakan MATLAB
untuk menghitung bentuk eselon baris tereduksi U dari [A b]. Bagaimana
jika kolom terakhir dari U dibandingkan dengan penyelesaian x? Dalam
perhitungan yang teliti penyelesaian harus sama. Mengapa? Terangkan.
Untuk membandingkan kedua vektor itu, hitunglah selisih U(:, 7)-x atau
periksa kedua-duanya dengan menggunakan format long.
b) Marilah sekarang kita ubah A sehingga menjadi matriks singular.
Definisikan:
A (:, 3) = A (:, 1 : 2) * [4 3)'
2) Di bagian kota yang ramai dari suatu kota tertentu, dua kelompok jalan satu-
arah berpotongan seperti yang diperlihatkan gambar di bawah. Rata-rata dari
volume lalu lintas yang memasuki dan meninggalkan bagian ini selama jam
sibuk diberikan pada gambar. Tentukan banyaknya lalu lintas yang terjadi pada
setiap perempatan.
MODUL VII
DETERMINAN
Tujuan
Mahasiswa diharapkan dapat memanfaatkan software MATLAB untuk
mempermudah menghitung deteminan dari suatu matriks.
Landasan Teori
Determinan adalah suatu fungsi tertentu yang menghubungkan suatu bilangan real
dengan suatu matriks bujursangkar.
Secara teori nilai determinan harus dapat menginformasikan kepada kita apakah
matriks yang bersangkutan taksingular atau tidak. Akan tetapi, jika matriksnya
adalah singular dan determinannya dihitung menggunakan ilmu hitung dengan
ketelitian berhingga (finite precision arithmetic), maka, karena kesalahan
pembulatan, nilai determinan yang dihitung mungkin tidak sama dengan nol. Nilai
determinan yang dihitung yang mendekati nol tidak perlu berarti bahwa
matriksnya singular atau bahkan dekat dengan keadaan singular. Lagi pula, suatu
matriks mungkin singular atau hampir singular dan memiliki determinan yang
bahkan tidak mendekati nol
%a.
disp('poin a:')
(1/det(A))
det(inv(A))
%b
disp('poin b:')
det(A*B)
det(A)*det(B)
Output:
poin a:
ans =
0.0029
ans =
0.0029
poin b:
ans =
-2.2115e+006
ans =
-2.2115e+006
Dari output yang dihasilkan, dalapat dilihat kedua poin diatas menghasilkan nilai
yang sama.
Pertanyaan
1) Buatlah matriks 5 x 5 yang sembarang dengan entri-entri bilangan bulat
dengan
mendefinisikan:
A = round(10 * rand(5)) dan B = round(20 *
rand(5)) – 10
Tugas
1) Jika suatu matriks peka terhadap galat pembulatan, maka nilai yang
dihitung bagi determinannya dapat berbeda secara drastis dari nilai
eksaknya. Sebagai contoh untuk hal ini, definisikan:
U = round(100 * rand(10)); U = triu(U, 1) + 0.1 *
eye(10)
secara teori
det(U) = det(UT) = 10-10
dan
det(U) = det(U) det(U) = 10-20
Hitunglah det(U), det(UT), dan det(U*UT) dengan menggunakan
MATLAB. Apakah nilai-nilai yang dihitung cocok dengan nilai-nilai
teoritis?
2) Gunakan MATLAB untuk membuat matriks A dengan mendefinisikan
A = vander(l : 6); A = A - diag(sum(A'))
(a) Dengan konstruksi di atas entri-entri dalam setiap baris dari A semuanya
harus memiliki jumlah nol. Untuk memeriksa hal ini, definisikan x .=
ones(6, 1) dan gunakan MATLAB untuk menghitung hasil kali Ax.
Matriks A pasti singular. Mengapa? Terangkan. Gunakan fungsi-fungsi
MATLAB det dan inv untuk menghitung nilai-nilai dari det(A) dan A-1.
Fungsi MATLAB yang mana yang merupakan petunjuk yang dapat
lebih diandalkan untuk singularitas?
(b) Gunakan MATLAB untuk menghitung det(AT). Apakah nilai-nilai yang
dihitung untuk det(A) dan det(AT) sama? Satu cara lain untuk
memeriksa apakah suatu matriks adalah singular ialah menghitung
bentuk eselon bans tereduksinya. Gunakan MATLAB untuk
menghitung bentuk-bentuk eselon baris tereduksi dari A dan AT.
(c) Definisikan B = A * A'. Nilai eksak dari det(B) harus sama dengan 0.
Mengapa? Terangkan. Gunakan MATLAB untuk menghitung det(B).
Apakah nilai yang dihitung untuk determinan sama atau hampir sama
dengan nilai eksak? Hitunglah bentuk eselon baris tereduksi dari B
untuk memeriksa bahwa matriks B adalah memang betul singular.
MODUL VIII
RUANG VEKTOR
Tujuan
Tujuan dari praktikum ini adalah untuk mempermudah mahasiswa dalam
menyelesaikan suatu masalah yang berkaitan dengan aljabar linear dengan
menggunakan komputer.
Landasan Teori
Ruang vektor adalah struktur matematika yang dibentuk oleh sekumpulan vektor,
yaitu objek yang dapat dijumlahkan dan dikalikan dengan suatu bilangan, yang
dinamakan skalar. Skalar sering adalah bilangan riil, tapi kita juga dapat
merumuskan ruang vektor dengan perkalian skalar dengan bilangan kompleks,
bilangan rasional, atau bahkan medan. Operasi penjumlahan dan perkalian vektor
mesti memenuhi persyaratan tertentu yang dinamakan aksioma. Contoh ruang
vektor adalah vektor Euklides yang sering digunakan untuk melambangkan
besaran fisika seperti gaya. Dua gaya dengan jenis sama dapat dijumlahkan untuk
menghasilkan gaya ketiga, dan perkalian vektor gaya dengan bilangan riil adalah
vektor gaya lain. Vektor yang melambangkan perpindahan pada bidang atau pada
ruang tiga dimensi juga membentuk ruang vektor. Ada beberapa konsep dan
definisi yang terkait dengan praktikum ini, yaitu:
clc;clear;
x1=[2 1]';
x2=[4 3]';
x3=[7 -3]';
rank x1 dan x2 :
ans =
rank x1 dan x3 :
ans =
rank x2 dan x3 :
ans =
ans =
Pertanyaan
1) Tentukan dimendensi dari {y1,y2}, {y2,y3}, {y1,y3}, {y1,y2,y3}; {z1,z2}, {z2,z3},
{z1,z3}, {z1,z2,z3};{w1,w2}, {w2,w3}, {w1,w3}, {w1,w2,w3};
dengan y1=[3 -2 4] T, y2=[-3 2 -4] T, y3=[-6 4 -8] T,
z1=[2 1 3] T, z2=[3 -1 3] T, z3=[2 6 4] T, w1=[1 0 0] T, w2=[0 1 0] T, w3=[0 0 1] T.
2) (Ruang kolom dan Bentuk Eselon Baris Tereduksi). Tetapkan B = round (10
* rand (8, 4)), X = round(10 * rand(4, 3)), C = B * X, dan A = [B C].
a) Bagaimana hubungan antara ruang-ruang kolom dari B dan C?. Berapakah
rank dari A yang Anda harapkan? Terangkan. Gunakan MATLAB untuk
memeriksa jawaban Anda.
b) Vektor-vektor kolom yang mana dari A yang membentuk basis untuk ruang
kolomnya? Terangkan. Jika U adalah bentuk eselon baris tereduksi dari A,
bagaimanakah bentuk empat kolom yang pertama yang Anda harapkan?
Terangkan . Bagaimanakah bentuk empat baris terakhir yang Anda
harapkan? Terangkan. Gunakan MATLAB untuk memeriksa jawaban-
jawaban Anda dengan cara menghitung U.
c) Gunakan MATLAB untuk membuat matriks lain D = (E EY) di mana E
adalah matriks sembarang 6x4 dan Y adalah matriks sembarang 4x2.
Bagaimanakah bentuk eselon baris tereduksi dari D yang Anda harapkan?
Hitunglah bentuk eselon baris tereduksi dari D ini dengan menggunakan
MATLAB. Perlihatkan bahwa pada umumnya jika B adalah matriks m × n
dengan rank n dan X adalah matriks n × k, maka bentuk eselon baris
tereduksi dari (B BX) akan memiliki struktur blok
I X
I X jika m n atau jika m n
O O
Tugas
(Pembaharuan Sistem Linear dengan rank 1).
MODUL IX
Tujuan
Setelah mempelahari materi di perkuliahan, diharapkan mahasiswa dapat
mempraktikkannya di komputer.
Landasan Teori
Andai (ei) basis baku dari Rn. Sembarang u ∈ Rndapat dinyatakan sebagai
kombinasi linear dari basis (ei);katakanlah :
u = a1 e1 + a2 e2 + a3 e3 + … + an en.
Pasangan skalar (a1, a2, a3, …, an) disebutkoordinat relatif dari u terhadap basis(e i);
Pertanyaan
1) (Perubahan basis). Tetapkan
Tugas
2) (Matriks-matriks Kekurangan Rank). Dalam latihan ini kita akan meninjau
bagaimana membuat matriks-matriks dengan rank yang diketahui dengan
menggunakan MATLAB
a) Pada umumnya, jika A adalah matriks m×n dengan rank r, maka r ≤ min
(m,n). Mengapa? Terangkan. Jika entri-entri dari A adalah bilangan-
bilangan sembarang maka kita mengharapkan bahwa r = min (m,n).
c) Misalkan kita ingin membuat matriks-matriks dengan rank yang lebih kecil
dari rank penuh dengan menggunakan MATLAB. Adalah mudah untuk
membuat matriks-matriks dengan rank 1. Jika x dan y masing-masing
adalah vektor taknol dalam Rm atau Rn, maka A = xyT adalah suatu matriks
m x n dengan rank 1. Mengapa? Tunjukkan hal ini dengan menggunakan
MATLAB dengan menetapkan
d) Pada umumnya,
MODUL X
ORTHOGONALITAS
Tujuan
Dalam praktikum ini, diharapkan mahasiswa dapat bereksperimen (secara
numerik) dengam materi orthogonalitas dan mencoba berbagai macam kasus yang
berbeda.
Landasan Teori
Misalkan diberikan vektor a dan b sbb:
Orthogonal
Himpunan vektor {v1, v2, ….., vk} dalam Rn disebut himpunan ortogonal jika
semua pasangan dalam himpunan vektor tersebut adalah ortogonal yaitu jika :
vi . vj = 0 ketika i ≠ j untuk i, j = 1, 2,….., k
Orthonormal
Proyeksi
(1)Proyeksi skalar orrtogonal dari vektor a pada arah vektor b adalah ||c||,
a b
c
b
dengan ||c|| dirumuskan oleh :
{[1,2,3,5],[6,5,2,4]}
x1=[1,2,3,5]';
x2=[6,5,2,4]';
t=x1'*x2/(norm(x1)*norm(x2))
disp('sudut antar x1 dan x2: ')
th=acos(t)*180/pi
disp('panjang x1: ')
norm(x1)
disp('panjang x2: ')
norm(x2)
Output:
th =
41.6460
panjang x1:
ans =
6.2450
panjang x2:
ans =
Pertanyaan
1) Tetapkan
genjang
2 2
x y x y 2 x y 2 2
dipenuhi.
b) Jika
xT y
t
x y
maka mengapa kita tahu bahwa |t| harus lebih kecil atau sama dengan 1?
Gunakan MATLAB untuk menghitung harga dari t dan gunakan fungsi
MATLAB acos untuk menghitung sudut antara x dan y. Ubahlah sudut
yang diperoleh ke satuan derajat dengan cara mengalikannya dengan 180/π
(perhatikan bahwa bilangan πdiberikan oleh pi dalam MATLAB).
Tugas
-
MODUL XI
Landasan Teori
Masalah kuadrat terkecil pada umumnya dapat dirumuskan sebagai sebuah sistem
kelebihan persamaan linear. Ingat bahwa sistem kelebihan persamaan berarti lebih
banyak persamaannya daripada peubah (bilangan yang tidak diketahui)nya.
Sistem yang demikian biasanya tidak konsisten, sehingga cukup mengganggu.
Dalam situasi seperti ini, kita cukup mencari vektor x yang akan membuat Ax
‘sedekat mungkin’ dengan b dalam pemahaman bahwa x akan meminimalkan
nilai berkenaan dengan hasil kali dalam Euclidean
1) Hitung A=vander(x)
2) Selesaikan SPL Az=y
Pertanyaan
1) (Kecocokan Kuadrat Terkecil ke Himpunan Data dengan Sebuah Fungsi
Linear). Tabel berikut ini adalah harga-harga x dan y
X -1,0 0,0 2,1 2,3 2,4 5,3 6,0 6,5 8,0
Y -1,02 -0,52 0,55 0,70 0,70 2,13 2,52 2,82 3,5
Kesembilan titik data ini hampir linear sehingga data dapat diaproksimasi
dengan sebuah fungsi linear z =c1 x + c2 Masukkan koordinat-koordinat x dan
p 1 2 3 4 5 6 7 8 9 10
T 222 227 223 233 244 253 260 266 270 266
a) Masukkan harga-harga tekanan sebagai sebuah vektor kolom p dengan
menetapkan p = [1 : 10]' dan masukkan harga-harga suhu sebagai vektor
kolom T. Untuk mencari kuadrat terkecil yang paling cocok ke data
dengan sebuah fungsi linear c1 x + c2, susunlah suatu sistem kelebihan
Untuk pencocokan dengan sebuah fungsi linear hanya dua kolom terakhir
dari Matriks Vandermonde penuh yang digunakan. Untuk informasi yang
lebih banyak mengenai fungsi vander dapat diperoleh dengan mengetikkan
help vander. Sekali disusun, penyelesaian kuadrat terkecil c untuk sistem
dapat dihitung dengan menggunakan operasi MATLAB " \".
q= 1 :0,1 : 10;
Harga-harga fungsi yang bersesuaian dapat ditentukan dengan menetapkan
z = polyval(c, q)
dan plot fungsi kubik dan titik-titik data dengan menggunakan perintah
yang sama seperti sebelumnya. Di mana Anda mendapatkan pencocokan
yang paling baik, pada bagian atas atau bawah dari atmosfir?.
d) Untuk mendapatkan pencocokan yang baik pada bagian atas dan bagian
bawah dari atmosfer, cobalah dengan menggunakan polinom berderajat
enam. Tentukan koefisien-koefisien seperti sebelumnya dengan
menggunakan tujuh kolom terakhir dari A. Tetapkan z = polyval (c, q) dan
plot hasilnya.
Tugas
x = 3 + 2 cos t y = 1 + 2 sin t
t1 = 0 : 0.1 : 6.3
x1 = c(1) + r * cos(tl) dan
y1 = c(2) + r * sin(tl)
dan gunakan perintah
plot(xl,yl,x,y,'x' )
untuk memplot lingkaran dan titik-titik data.
MODUL XII
Transformasi Linear
Tujuan
Landasan Teori
Dalam praktikum ini akan dibahas tentang pemetaan linear antar ruang vektor.
d. W adalah matriks transisi dari F ke basis baku untuk R5. Gunakan W untuk
menghitung vektor koordinat dari L(x)relatif terhadap basis baku.
Sintaks di Matlab:
clc;clear;
W=triu(ones(5)) %basis F
x=[1:5]’
A=[0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 4 3 2 1 0; 1 1 1 3 1]
y = W*x
z = A*y
t = W*z
Ouput:
W =
1 1 1 1 1
0 1 1 1 1
0 0 1 1 1
0 0 0 1 1
0 0 0 0 1
x =
1
2
3
4
5
A =
0 0 0 4 1
1 0 0 3 1
0 1 0 2 1
0 0 1 1 3
0 0 0 0 1
y =
15
14
12
9
5
z =
41
47
37
36
5
t =
166
125
78
41
5
Pertanyaan
1. Misalkan diberikan suatu matriks W dan vektor x dengan menetapkan W =
triu (ones(5)) dan x = [1 : 5]
Kolom-kolom dari W dapat digunakan untuk membentuk basis terurut
F=[w1 ; w2 ; w3 ; w 4 ; w5 ]
Misalkan L :R 5 → R5adalah operator linear sedemikian rupa sehingga
L ( w1 ) =w 1+ w2
L ( w2 ) =w 3+ w4
L ( w3 ) =w 4
L ( w 4 )=4 w 1+ 3 w2 +2 w3 + w4
L(w 5)=w1 + w2 +w3 +3 w4 + w5
a. Tentukan matriks A yang melambangkan L relatif terhadap F dan masukkan
matriks A tersebut ke dalam MATLAB.
b. Gunakan MATLAB untuk menghitung vektor koordinat y=W ∗x darix
relatif terhadap F.
c. Gunakan A untuk menghitung vektor koordinat z dari L(x) relatif terhadap
F.
d. W adalah matriks transisi dari F ke basis baku untuk R5. Gunakan W untuk
menghitung vektor koordinat dari L(x)relatif terhadap basis baku.
(c) Matriks-matriks B dan C dari bagian (a) dan (b) harus serupa. Mengapa?
GunakanMATLABuntukmenghitungmatrikstransisi S dari F ke D. Hitung matriks
C dinyatakan dalam B, S, dan S1. Bandingkan hasil anda dengan yang diperoleh
di bagian (b)
TUGAS
Misalkan
A = toeplitz(l : 7), S = compan(ones(8, 1)) dan tetapkan
−1
B=S ∗A∗S
Matriks-matriks A dan B adalah serupa. Gunakan Matlab untuk memeriksa bahwa
sifat-sifat berikut memang berlaku untuk kedua matriks ini
(a) det ( B)=det ( A)
(b) BT=STAT ( ST )−1
(c) B−1=S−1 A−1 S
(d) B9=S−1 A 9 S
(e) tr (B)=tr( A) (Perhatikan bahwa trase dari matriks A dapat A dapat dihitung
dengan menggunakan perintah MATLAB trace)
(f) B−3 I =S−1( A−3 I )S
(g) det ( B−3 I )=det ( A−3 I )
Sifat-sifat ini pada umumnya akan berlaku untuk setiap pasang matriksmatriks
yang serupa.
MODUL XIII
Nilai Eigen dan Vektor Eigen
Tujuan
Pada praktikum ini, mahasiswa diharapkan dapat melakukan komputasi yang
berkaitan dengan nilai eigen dengan menggunakan MATLAB
Landasan Teori
Definisi. Misalkan A adalah suatu matriks sembarang. Skalar λ disebut sebagai
nilai eigen atau nilai karakteristik dari A jika terdapat suatu vektor taknol
sehingga Ax = λx. Vektor x disebut pula sebagai vektor eigen atau vektor
karakteristik dari yang bersangkutan.
Conjecture.
Misalkan A dan B matriks berukuran n,n. Jika {a1,a2,...} merupakan nilai eigen
untuk AB, maka {a1,a2,...} juga merupakan nilai eigen untuk BA.
Misalkan A adalah suatu matriks dimana semua kolomnya memiliki elemen yang
jumlahnya sama, katakanlah d. Maka d merupakan salah satu nilai eigen untuk
matriks A.
Hasil Kali dan Jumlah Nilai Eigen
Pertanyaan
1. Yang mana yang merupakan vektor eigen dari nilai eigen ke-i ? baris ke-i
atau kolom ke i?
2 0 01 2 1 0
( ) (
A= −1 −1 0 ; B= 0 2 0
5 3 −3 0 0 2 )
Tugas
1. Cari nilai eigen dari matriks berikut
1 0 0 0 0
1 1 2 3
(
0 1 0 0 0
D= 0 0 0 0 0 ; E=
0 0 0 −4 0
0 0 0 0 3
) (
2 2 4 6
3 3 6 9
4 4 8 12
)
2. Bangunlah sebuah matriks simetrik A dengan menetapkan
A=round(5∗rand (6)); A= A+ A '
MODUL XIV
Diagonalisasi
Tujuan
Teorema. Misalkan matriks A dan B adalah dua matriks yang serupa, maka
kedua matriks tersebut memiliki polinom karakistik yang sama dan memiliki nilai
eigen yang sama
Teorema. Jika λ 1 , λ2 , .., λ kadalah nilai-nilai eigen yang berbeda dari matriks Anxn ,
dengan vektor-vektor eigen yang bersesuaian Jika x 1 , x 2 , .. , x k maka x 1 , x 2 , .. , x k
bebas linear
Definisi. Matriks Anxn , dapat didiagonalisasi jika terdapat matriksX dan matriks
diagonal D sehingga X −1 AX=D
Theorem. Matriks Anxn , dapat didiagonalisasi jika dan hanya jika A mempunyai n
vektor eigen yang berbeda.
A= 2 3
( )
1 1
Sintaks:
A=[2 3;1 1]
[S,D]=eig(A);
S
inv(S)*A*S
Output:
A =
2 3
1 1
S =
0.91725 -0.79325
0.39832 0.60889
ans =
3.3028 0
-1.1102e-016 -0.30278
Pertanyaan
1. Diberikan
2 1 5 3
T=
0 3( )dan S=
3 2 ( )
Periksa apakah kedua matriks tersebut serupa atau tidak
2 0 0
( )
0 1 (
E= 1 1 , F= −1 4 0
−3 6 2 )
Tugas
(a) Invers eksak dari S harus memiliki entri-entri bilangan bulat. Mengapa?
Jelaskan. Periksalah entri-entri dari T dengan menggunakan format long. Bulatkan
entri-entri dari T ke bilangan bulat terdekat dengan menetapkan T = round(T).
Hitunglah T∗S dan bandingkan dengan eye(5).
DAFTAR PUSTAKA