Pemrograman Matlab
Pemrograman Matlab
RUANG VEKTOR
diajukan untuk memenuhi tugas mata kuliah Matriks dan ruang vektor
yang dibimbing oleh Bapak Edi Supriyadi, S.Pd., M.Pd.
disusun:
KELOMPOK 2
1. Ahmad Saefudin 6. Faizal Fahri
2. Asa Nur Zahwa 7. Mohamad Azizi
3. Cahyo Indra 8. Wahyu Ridho
4. Deni Muhidin 9. Irpan Maulana
5. Elfina Audia Mahaputri
Puji syukur kami panjatkan kehadiran ALLAH SWT, berkat rahmat dan
karunia- NYA sehingga modul ini dapat terselesaikan. Kami menyampaikan
penghargaan yang setinggi-tingginya kepada seluruh pihak yang telah
membantu, khususnya rekan-rekan dosen di lingkungan Universita Bina
Sarana Informatika.
Penyusun
BAB 1
Pendahuluan
Matlab.
atau mengeplot grafik dari data yang kita miliki. Yang termasuk
berbasis Matlab.
7
5 3
6 4 1
2
10 8
11 9
Keterangan
1. tool untuk browse direktori aktif. Dari tool ini kita dapat
mengeset direktori mana yang aktif. Direktori aktif berarti bahwa
direktori inilah yang siap untuk diakses file didalamnya atau
tempat yang siap untuk digunakan sebagai penyimpan data.
2. Tool yang menampilkan direktori aktif. Dari tool ini kita dapat
melihat direktori mana yang aktif. Sebagai default direktori aktif
Matlab adalah C:\MATLAB6p5\work, jika Matlab diinstal di
direktori C:\ , kalau disimpan di D:\ maka direktori aktif
defaultnya D:\MATLAB6p5\work, begitu juga di E:\ atau
dimana saja.
3. Jendela ini disebut disebut sebagai Command Window. Dari
jendela ini kita dapat memasukkan perintah Matlab. Disamping
itu kita juga dapat menjalankan atau mengeksekusi program
yang sudah kita buat di editor window dan disimpan di direktori
aktif.
4. Tool yang digunakan untuk mendisplay bantuan pada Matlab.
5. Tool yang dapat digunakan untuk menuju ke Simulink Library
Browser.
6. Tool untuk membuka file yang ada di direktori aktiv.
7. Tool untuk membuat file baru dengan format M-File.
8. Tool untuk mengatur ukuran jendela.
9. Tool untuk melihat perintah apa saja yang pernah kita jalankan
melalui command window. Tool ini diberi nama command
history.
10. Tool untuk mendisplay isi file apa saja yang terdapat di direktori
aktif.
11. Tool untuk mendisplay nama variabel, ukuran, bytes dan
classnya.
Tool-tool yang sudah disebutkan di atas dapat diatur
kemunculannya melalui menu View. Misalnya, kita tidak
menginginkan tampilnya jendela command history, maka kita kita
harus menghilangkan tanda cek yang ada pada submenu command
hstory. Lihat gambar 3.
Gambar 3. Menonaktifkan jendela command history
BAB 2
Memulai dengan Matlab
Ketika kita pertama kali menjalankan Matlab, maka yang tampil adalah
Desktop Matlab seperti yang telah disinggung di atas. Diantara jendela
yang yang ada pada desktop Matlab adalah command window. Di jendela
inilah segala macam aktivitas berkaitan dengan perintah maupun eksekusi
program berada. Perintah atau eksekusi program dapat dilakukan setelah
prompt atau tanda “ >> “. Sebagai contoh
>> x=6;
>> y=7;
>> z=x*y
z=
42
A. Bantuan Matlab
Kadang-kadang, pada saat membuat program komputer kita lupa
akan satu perintah atau belum tahu deskripsi atau pengguanaan dari
perintah tersebut. Nah, disamping kita dapat meminta bantuan lewat
tool bantuan (Help), kita dapat pula meminta bantuan lewat command
window, caranya ketik help perintah_yang dimaksud. Misalnya, kita
ingin tahu bagaimana deskripsi dan cara menggunakan fungsi ode45.
Caranya cukup dengan mengetik
>> help ode45
>> NESYA=exp(NEsya*3)
>> clc;
>> pwd;
>> who
>> whos
Pada contoh diatas, variabel Nesya, NEsya, NESYA dipandang
sebagai variabel berbeda. Variabel Nesya tidak sama dengan NEsya
tidak sama pula dengan variabel NESYA. Ini berarti bahwa antara
huruf besar dengan huruf kecil dibedakan. Oleh sebab itu, Matlab
adalah case sensitive.
Operator dasar aritmatik antara lain adalah +, -, *, / da ^. Simbol
^ digunakan untuk menyatakan pangkat, misalnya
>> a=10
a=
10
>> a^2
ans =
100
>> a^3
ans =
1000
>> 1+2*4/3
ans =
3.6667
>> 1+2/4*3
ans =
2.5000
Tetapi, coba kita lihat contoh ke-4 dan ke-5, yaitu bagaimana
urutan operasi pada angka-angka tersebut. Untuk bentuk yang lebih
jelas operasi 1+2*4/3 dapat dituliskan sebagai
1+((2*4)/3) = 1+8/3
= 1+ 2.667
= 3.667
Sedangkan operasi 1+2/4*3 dapat dituliskan sebagai
1+2/4*3 = 1+(2/4)*3
= 1 + 0.5 *3
= 2.5000
Jadi, dalam mengeksekusi sebuah operasi matematika, Matlab
mengikuti aturan-aturan sebagai berikut:
Matlab memprioritaskan operasi yang berada di dalam kurung
operasi yang melibatkan operator * dan / (dapat * / atau / *)
bekerja dari kiri ke kanan
operasi matematika yang melibatkan operator + dan – (dapat + -
atau - +) juga bekerja dari kiri ke kanan.
Contoh
>> z = 3+4i;
>> abs(z)
ans =
5
>> a=100;
>> sqrt(a)
ans =
10
>> log(a)
ans =
4.6052
>> log10(a)
ans =
2
>> log2(a)
ans =
6.6439
>> exp(log10(a))
ans =
7.3891
[ ]
A= a 21 a22 a 23
a 11
31
a12
32
a 13
33
[]
atau
a 11
a 21
A= a 31
a 41
𝖼
v =[ 2 ; 3 ; 4 ]
s=10
2
3
4
s=
10
5. Penambahan dan Pengurangan. Operasi penambahan dan
pengurangan dua buah matrika atau lebih dapat dilakukan
apabila matriks pesertanya adalah seorde.
>> x=pascal(4);
>> y=magic(4);
>> z1=x+y
z1 =
17 3 4 14
6 13 13 12
10 10 12 22
5 18 25 21
>> z2=x-y
z2 =
-15 -1 -2 -12
-4 -9 -7 -4
-8 -4 0 -2
-3 -10 -5 19
Apabila matriks pesertanya tidak seorde, maka akan terjadi
pesan kesalahan
>> x=pascal(4);
>> y=magic(3);
>> z1=x+y
??? Error using ==> +
Matrix dimensions must agree.
6. Perkalian vektor. Misalkan kita memiliki dua buah vektor
>> A.'
ans =
1.0000 + 2.0000i 2.0000 + 1.0000i 2.0000
-2.0000 + 1.0000i 3.0000 1.0000 + 3.0000i
2.0000 -5.0000 + 3.0000i 3.0000
8. Perkalian Matriks. Masalah matriks memang banyak digunakan
dalam penyelesaian kasus matematika. Persamaan linier
simultan merupakan salah satu masalah yang dapat dipecahkan
dengan matriks. Perkalian matriks sendiri membutuhkan syarat
yakni jumlah kolom matriks kiri harus samadengan jumlah baris
matriks kanan. Oleh sebab itu, perkalian matriks tidak bersifat
komutatif atau AB ≠BA .
>> A=[1,2,3;2,3,4;3,4,5]
A=
1 2 3
2 3 4
3 4 5
>> B=[3,2,1;4,3,2;6,5,4]
B=
3 2 1
4 3 2
6 5 4
>> A*B
ans =
29 23 17
42 33 24
55 43 31
>> B*A
ans =
10 16 22
16 25 34
28 43 58
10. Matriks identitas. Matriks identitas disebut pula matriks satuan.
Sebagaimana operasi perkalian memiliki angka satuan 1,
sedemikian hingga a ×1 =a , operasi penambahan/ pengurangan
memiliki angka identitas 0, hingga a +0=a atau a −0=a . Matriks
juga memiliki identitas matriks yang biasa disimbulkan dengan I,
sehingga AI =IA =A . Dalam Matlab, untuk membuat matriks
identitas cukup menggunakan fungsi eye(m,n)
>> A=[1,2,3;2,3,4;3,4,5]
A=
1 2 3
2 3 4
3 4 5
>> I=eye(3)
I=
1 0 0
0 1 0
0 0 1
>> A*I
ans =
1 2 3
2 3 4
3 4 5
>> I*A
ans =
1 2 3
2 3 4
3 4 5
11. Matriks–matriks khusus. Matlab memiliki matriks khusus, yang
mana dua diantaraya sudah disebutkan di atas yaitu rand(m,n)
dan eye(m,n). Disamping kedua matriks tersebut ada lagi matriks
khsuus lainnya yaitu ones(m,n), zeros(m,n) dan randn(m,n)
>> ones(3,4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
>> zeros(3,4)
ans =
0 0 0 0
0 0 0 0
0 0 0 0
>> randn(3,4)
ans =
-0.4326 0.2877 1.1892 0.1746
-1.6656 -1.1465 -0.0376 -0.1867
0.1253 1.1909 0.3273 0.7258
BAB 4
Menggambar Grafik Fungsi
c =
3.9205
Fungsi
Fungsi menerima argumen input dan menjalankan (return)
argumen output. Fungsi melakukan operasi dengan data yang ada di
dalam workspace fungsi itu sendiri, bukan yang tersimpan di dalam
workspace yang ada di desktop Matlab. Di bawah ini diberikan
fungsi sederhana bernama rerata yang akan menghitung elemen
dalam sebuah vektor.
function y = rerata(x)
% RERATA adalah fungsi untuk menghitung
% rerata dari elemen dari sebuah vektor
% RERATA(X), dimana X adalah vektor,
% merupakan rerata dari elemen sebuah vektor
% Jika inputan bukan berupa vektor maka
% akan error
[m,n] = size(x);
if (~((m == 1) | (n == 1)) | (m == 1 & n == 1))
error('Inputan harus berupa vektor')
end
y = sum(x)/length(x); % perhitungan
Jika dijalankan
>> p=3;l=5;
>> kotak(p,l)
ans =
15
>> [L,K]=kotak(p,l)
L =
15
K =
30
Sub fungsi
Fungsi M-File dapat terdiri dari lebih dari satu fungsi. Fungsi
pertama disebut sebagai fungsi utama, sedangkan fungsi berikutnya
disebut sebagai subfungsi.
Operator Aritmatik
Matlab menyediakan operator aritmatika seperti terlihat pada
tabel di bawah ini.
Operator Deskripsi
+ Penambahan
- Pengurangan
.* Perkalian
./ Bagi kanan
.\ Bagi kiri
: Operator kolon
.^ Pangkat
.' Transpose
' Transpose konjugat kompleks
* Perkalian matriks
/ Bagi kanan matriks
\ Bagi kiri matriks
^ Pangkat matriks
Operator relasi
Matriks juga menyediakan operator relasi sebagai berikut
Operator Deskripsi
< Kurang dari
<= Kurang dari atau sama dengan
> Lebih dari
>= Lebih dari atau sama dengan
== Sama dengan
~= Tidak sama dengan
>>P=[2,3,4;3,4,5;5,6,7];
>> Q=[3,2,4;2,4,5;5,1,2];
>> P==Q
ans =
0 0 1
0 1 1
1 0 0
>> P<Q
ans =
1 0 0
0 0 0
0 0 0
>> P<=Q
ans =
1 0 1
0 1 1
1 0 0
>> P>Q
ans =
0 1 0
1 0 0
0 1 1
>> P>=Q
ans =
0 1 1
1 1 1
1 1 1
BAB 6
KONTROL ALIRAN
ya
Perintah
if (kondisi)
pernyataan/perintah
end
ya
Perintah Perintah
if(kondisi)
perintah_1
else
perintah_2
end
Ya
Perintah …
If Perintah ....
Tidak
Ya
Perintah …
elseif Perintah ....
Tidak
Ya Perintah …
elseif Perintah ....
Tidak
Perintah …
else Perintah ....
if (syarat/kondisi)
perintah/pernyataan
if (kondisi)
perintah/pernyataan
else
perintah/pernyataan
end
else
perintah/pernyataan
if (kondisi)
perintah/pernyataan
else
perintah/pernyataan
end
end
tidak
if (kondisi)
ya
Perintah
Perintah
if (kondisi)
if (kondisi)
Perintah Perintah
switch no
case 1
a=input('masukkan panjang sisi bujur sangkar:');
luas=a*a;
fprintf('Luas bujur sangkar adalah %f \n',luas);
case 2
a=input('masukkan panjang persegi panjang: ');
b=input('masukkan lebar persegi panjang: ');
luas=a*b;
fprintf('Luas persegi panjang adalah %f',luas);
case 3
a=input('masukkan jari-jari lingkaran :');
luas=3.14*pow(r,2);
fprintf('Luas lingkaran adalah %f ',luas);
otherwise
fprintf('Ulangi pilihan yang ada...!!')
end
4. while
Pernyataan while akan menjalankan pernyataan atau
sekelompok pernyataan secara berulang-ulang selama kontrol
perulangan berharga benar (1). Secara umum, bentuk dari switch
adalah
while expression
statements
end
6. Pernyataan continue
Pernyataan continue berfungsi melewatkan kendali ke iterasi
berikutnya di dalam perulangan for maupun while. Apabila
pernyataan continue berada di dalam loop bersarang, maka
pernyataan continue akan melewatkan kendali ke iterasi berikutnya.
Sebagai contoh, perhatikan di bawah ini
N=20;
for i=1:N
if (i<5)
continue;
end
fprintf('%i. Aku mahasiswa semester 5 \n',i);
end
N=20;
for i=1:N
if (i>5)
break;
end
fprintf('%i. Aku mahasiswa semester 5 \n',i);
end
[ ]
b
[ ][ ]
a 21 a 22 a 23 x2 = b12
a 11
31
a32
12 a 13
33
xx31 b3
[ ] [ ]
x b
[ ]
A= a 21 a22 a 23 , X = x 21 dan b= b21
a 11
31
a 12
32
a 13
33 x3 b3
Dari persamaan vector tersebut semua koefisien semuanya nol maka dapat dikatakan
bahwa vector tersebut memiliki solusi trivial atau bisa disebut juga sebagai linear
bebas.
Terkait Perhitungan Koordinat Vektor dalam Sub Bab Perubahan Basis, hasilnya adalah [7;2]
yang didapatkan dari hasil perhitungan transisi B’ ke B untuk mendapatkan [v]B.