SlideShare a Scribd company logo
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
C
Ce
ep
pa
at
t M
Ma
ah
hi
ir
r M
Ma
at
tl
la
ab
b
Andry Pujiriyanto
andrypuji@hmgm.geoph.itb.ac.id
B
Ba
ab
b 6
6
M
Me
em
mb
bu
ua
at
t V
Vi
is
su
ua
al
li
is
sa
as
si
i D
Da
at
ta
a d
di
i
M
Ma
at
tl
la
ab
b
Pada bab sebelumnya telah digunakan beberapa fasilitas grafis di Matlab. Dalam bab ini
akan dibahas berbagai fasilitas grafis Matlab secara lebih jelas. Matlab menyediakan
berbagai fungsi untuk menampilkan data secara dua dimensi maupun tiga dimensi. Pada
kasus dimana anda membuat grafik dalam tiga dimensi, anda dapat menggambar
permukaan dan menempatkan binkai pada grafik tersebut. Warna digunakan untuk
mewakili dimensi keempat.
Grafik Pertama
Seperti telah digunakan pada bab sebelumnya, perintah plot sering digunakan untuk
menggambarkan grafik dua dimensi. Perintah plot menggambarkan data dalam array
pada sumbu yang bersesuaian dan menghubungkan titik-titik tersebut dengan garis lurus.
Sebagai grafik pertama anda pada bab ini akan dibuat visualisasi dari
sin( )
x
y
x
= dengan
nilai x ,10
100
π
π
⎡ ⎤
⎢ ⎥
⎣ ⎦
,
Lisensi Dokumen:
Copyright © 2004 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus
atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin
terlebih dahulu dari IlmuKomputer.Com.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
x=pi/100:pi/100:10*pi;
y=sin(x)./x;
plot(x,y)
grid on
0 5 10 15 20 25 30 35
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Fungsi dasar untuk membuat grafik dua dimensi di Matlab adalah perintah plot ,
perintah ini didasarkan dari jumlah argumen variabel input . Untuk keterangan lebih jelas
mengenai fungsi plot ketik help plot di command window.
Memberi Keterangan Pada Grafik
Contoh :
Pada contoh dibawah ini dibuat grafik dari fungsi 2
( )
1
x
f x
x
=
+
, dengan nilai x dari -2
sampai 2 menggunakan jumlah data yang berbeda.
% Script file graph1.
% Grafik fungsi y = x/(1+x^2)
k=0;
for n=1:2:7
n10 = 10*n;
x = linspace(-2,2,n10);
y = x./(1+x.^2);
k=k+1;
subplot(2,2,k)
plot(x,y,'r')
title(['Plot Fungsi dengan banyak data n
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
= ',num2str(n10)])
axis([-2,2,-.8,.8])
xlabel('x')
ylabel('y')
grid
end
Function subplot digunakan untuk membuat suatu figure dapat memuat lebih dari satu
gambar. Perintah sublot didefinisikan sebagai :
subplot(n,m,i)
Perintah tersebut membagi suatu figure menjadi suatu matriks m x n area grafik dan i
berfungsi sebagai indeks penomoran gambar. Subplot dinomori dari kiri ke kanan dimulai
dari baris teratas.
Function title digunakan untuk memberi judul pada gambar. Input dari perintah title
berupa string. Syntax title sebagai berikut :
title(‘string’)
Function xlabel digunakan untuk memberi label sumbu pada sumbu x. Input dari perintah
xlabel berupa string. Syntax xlabel sebagai berikut :
xlabel(‘string’)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Function ylabel digunakan untuk memberi label sumbu y. Input dari perintah ylabel
berupa string. Syntax ylabel sebagai berikut :
ylabel(‘string’)
Function axis digunakan untuk mengatur nilai minimum dan maksimum dari sumbu x
dan sumbu y , function axis didefinisikan sebagai :
axis([ xmin xmax ymin ymax ])
Function grid digunakan untuk memberi grid pada gambar kita
Membuat 2 Grafik Dalam 1 Gambar
Contoh :
Pada contoh 2 ini akan dibuat plot dari dua persamaan elips :
2 2
( 3) ( 2)
1
36 81
x y
− +
+ = dan
2 2
( 7) ( 8)
1
4 36
x y
− −
+ = , menggunakan perintah plot.
% Script file graph2
% Grafik dari dua ellips
% x(t) = 3 + 6cos(t), y(t) = -2 + 9sin(t)
% dan
% x(t) = 7 + 2cos(t), y(t) = 8 + 6sin(t).
t = 0:pi/100:2*pi;
x1 = 3 + 6*cos(t);
y1 = -2 + 9*sin(t);
x2 = 7 + 2*cos(t);
y2 = 8 + 6*sin(t);
h1 = plot(x1,y1,'r',x2,y2,'b');
set(h1,'LineWidth',1.25)
axis('square')
xlabel('x')
h = get(gca,'xlabel');
set(h,'FontSize',12)
set(gca,'XTick',-4:10)
ylabel('y')
h = get(gca,'ylabel');
set(h,'FontSize',12)
set(gca,'YTick',-12:2:14)
title('Graphs of (x-3)^2/36+(y+2)^2/81 = 1 and (x-
7)^2/4+(y-8)^2/36 =1.')
h = get(gca,'Title');
set(h,'FontSize',12)
grid
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Pada program graph3.m kita merubah koordinat x dan y elips dari koordinat rectangular
ke dalam koordinat parametrik .
Pada program tersebut menunjukkan bahwa anda dapat menggambar lebih dari satu set
data pada saat yang bersamaan hanya dengan memberikan sepasang argumen tambahan
pada plot. Pada contoh diatas dibuat plot y1 terhadap x1 dan y2 terhadap x2. Plot secara
otomatis menggambarkan kurva yang kedua dengan warna yang berbeda.
Pada contoh diatas dibuat pengesetan warna , huruf dan garis dari grafik plot anda dengan
menggunakan perintah h1=plot( ……,'b') set(h1,'LineWidth',1.25)
axis('square') xlabel('x') .
Anda dapat memilih sendiri style penandaan, warna dan bentuk garis dengan memberikan
argumen ketiga pada fungsi plot untuk setiap pasangan array data. Argumen tambahan ini
adalah suatu karakter string yang terdiri dari satu atau lebih karakter dari tabel di bawah
ini:
Simbol
b
r
g
c
m
Warna
Biru
Merah
Hijau
Cyan
Magenta
Simbol
.
o
x
+
*
Penandaan
Titik
Lingkaran
Tanda x
Tanda plus
Tanda
Simbol
-
:
-.
--
Style Garis
Gari lurus
Garis titk-
titk
Garis
terpotong &
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
y
k
w
Kuning
Hitam
Putih
s
d
p
h
bintang
Bujursangkar
Diamon
Pentagram
Heksagram
titik
Garis
terpotong-
potong
Sebagai contoh yang menggunakan style, garis dan penandaan pada program graph2
adalah
plot(x,y,'b:p')
Perintah tersebut memerintahkan Matlab membuat plot grafik dimana titik grafik ditandai
dengan pentagram, garis mempunyai style garis titik-titik dan berwarna biru.
Perintah axis('square') memerintahkan Matlab membuat grafik yang aktif
menjadi bujur sangkar bukan persegipanjang.
Pada program diatas terdapat perintah yang dimulai dengan h1=plot …. , variabel h1
menyimpan informasi mengenai grafik yang anda buat yang disebut handle graphics.
Perintah set pada baris selanjutnya digunakan untuk memanipulasi grafik.Harap diingat
bahwa perintah ini mempunyai variabel input h1.
Perintah Matlab lain yang penting yaitu perintah get .Perintah tersebut berdasar pada
parameter input yang diberi nama gca = get current axis .Lalu untuk memanipulasi garis
yang diinginkan digunakan perintah set seperti bisa dilihat pada program graph3.
Menggunakan Perintah Hold
Anda dapat menambahkan garis pada grafik yang sudah ada dengan perintah hold. Jika
anda mengeset hold on , maka Matlab tidak akan mengganti sumbu-sumbu yang sudah
ada jika perintah plot yang baru diberikan. Matlab akan langsung menambahkan kurva
yang baru pada grafik yang telah ada. Namun apabila data yang baru tidak mencukupi
untuk batasan-batasan sumbu yang ada maka akan dilakukan penskalaan ulang. Perintah
hold off akan membuat jendela figure membuat gambar yang baru. Perintah hold
tanpa argumen berfungsi sebagai toggle..Sebagai contoh
Contoh :
% Script graph3
% Grafik dari dua ellips
% x(t) = 3 + 6cos(t), y(t) = -2 + 9sin(t)
% dan
% x(t) = 7 + 2cos(t), y(t) = 8 + 6sin(t).
% Menggunakan perintah hold
t = 0:pi/100:2*pi;
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
x1 = 3 + 6*cos(t);
y1 = -2 + 9*sin(t);
x2 = 7 + 2*cos(t);
y2 = 8 + 6*sin(t);
plot(x1,y1,'r') ,hold on
plot(x2,y2,'b')
Langkah-Langkah Untuk Memplot Data Anda
Untuk membuat suatu grafik dasar di Matlab yang dapat merepresentasikan data yang
anda buat disimpulkan dalam enam tahap dalam membuat grafik pada tabel dibawah ini.
Dalam langkah dibawah ini, langkah 1 sampai tiga sebenarnya sudah cukup untuk
merepresentasikan data dalam sebuah grafik, langkah selanjutnya untuk membuat
tampilan dari grafik lebih menarik.
Matlab mempunyai banyak function yang khusus untuk grafik 2 dimensi. Sebagian dari
fungsi tersebut adalah fill, polar, bar, barh, pie, hist, compass,
errorbar, stem, quiver dan feather.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Function fill
Pada contoh dibawah ini digunakan perintah fill untuk membuat suatu obyek.
% Script graph4
% Menggunakan function fill
n = -6:6;
x = sin(n*pi/6);
y = cos(n*pi/6);
fill(x, y, 'r')
axis('square')
title('Graph of the n-gone')
text(-0.45,0,'What is a name of
this object ?')
Function polar
Grafik pada koordinat polar dapat dibuat dengan menggunakan perintah
polar(t,r,s) , dengan t adalah sudut vector dalm radian, r adalah jari-jari vaktor dan
s adalah karakter string yang bersifat opsional berfungsi untuk mendeskripsikan warna ,
symbol penandaan , dan style garis. Coba perhatikan contoh berikut :
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
% Script graph4
% membuat grafik x(t)=sin(2t)cos(2t)
t=linspace(0,2*pi);
r=sin(2*t).*cos(2*t);
polar(t,r)
subplot(2,2,1)
polar(t,r)
title('Grafikpolar x(t)=sin(2t)cos(2t)')
subplot(2,2,2)
compass(t,r)
title('PlotCompass x(t)=sin(2t)cos(2t)')
subplot(2,2,3)
feather(t,r)
title('Plotfeather x(t)=sin(2t)cos(2t)')
subplot(2,2,4)
rose(r)
title('HistogramSudut
x(t)=sin(2t)cos(2t)')
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Function compass dan feather digunakan untuk menampilkan sudut dan besarnya
elemen-elemen kompleks dalam z sebagai anak panah berasal dari pusat koordinat.
Untuk keterangan lebih detail coba gunakan perintah help feather , help
compass dan help rose.
Function ginput
Perintah ginput merupakan cara untuk memilih titik-titik dari grafik aktif dengan bantuan
mouse.[x,y]=ginput(n) maksudnya mengambil n titik dari sumbu aktif dan
mengisikan koordinatnya dalam array kolom x dan y . Jika n tidak terisi , Matlab akan
mengambil jumlah titik secara tak terbatas sampai tombol Return atau Enter ditekan.
Sebagai contoh perhatikan program graph5 berikut :
% Script graph5
% Loop, mengambil titik-titik pada grafik.
disp('Klik kiri untuk menentukan titik-titk yang diinginkan.')
disp('Klik kanan untuk menentukan titik terakhir')
but = 1;n=0;
while but == 1
[xi,yi,but] = ginput(1);
plot(xi,yi,'ro')
n = n+1;
xy(:,n) = [xi;yi];
end
% Interpolate with a spline curve and finer spacing.
t = 1:n;
ts = 1: 0.1: n;
xys = spline(t,xy,ts);
% Plot the interpolated curve.
plot(xys(1,:),xys(2,:),'b-');
hold off
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Function quiver
Gambar vektor yang mengambarkan arah dan besarnya dapat divisualisasikan dengan
menggunakan fungsi quiver. Misal kita mempunyai data laju perpindahan akibat
pergerakan lempeng disekitar subduction zone. Data tersebut mempunyai nama
subdcSMTdenseVec.dat, dan isi dari data tersebut adalah koordinat riel bumi berupa
longitude (bujur), latitude (lintang), besar vektor dan kecepatan vektor.
Juga diberikan data kepulauan Indonesia di indonesia.dat. Anda akan mencoba
memvisualisasikan kedua data tersebut. Dibuat script di matlab sebagai berikut :
% plot_vector.mat
load subdcSMTdenseVec.dat
load indonesia.dat
data=subdcSMTdenseVec; % pendefinisian data
x=data(:,1);
y=data(:,2);
U=data(:,3);
V=data(:,3);
quiver(x,y,U,V,'r'),hold on
plot(indonesia(:,1),indonesia(:,2))
axis([min(x) max(x) min(y) max(y)])
Apabila kita eksekusi program tersebut akan menghasilkan gambar di bawah ini :
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Pada program plot_vektor.m, pertama data didefinisikan dengan menggunakan fungsi
load. Lalu data tersebut disimpan di variable x, y, U dan V yang merupakan data
longitude (bujur), latitude (lintang), besar vektor dan kecepatan vector.
Perintah quiver(x,y,U,V,'r'), membuat gambar besar dan arah vector di koordinat
longitude dan latitude dengan warna merah.
Perintah plot(indonesia(:,1),indonesia(:,2)), memplot semua data pada kolom satu dan
dua dari data indonesia.dat yang tersimpan di variable indonesia.
Perintah axis([min(x) max(x) min(y) max(y)], membuat batas gambar berdasarkan
daerah di data vector.
Grafik Batang dan Area
Grafik batang dapat dibuat dengan menggunakan perintah bar , bar3 , barh. Function bar
dan area menampilkan data vektor dan matriks. Function jenis ini berguna untuk
membandingkan beberapa data yang berbeda. Dibawah dijelaskan keterangan mengenai
perintah-perintah tersebut.
Sebagai contoh dibuat matriks Y dan digunakan function bar dan bar3 untuk matriks Y
Y = [5 2 1
8 7 3
9 8 6
5 5 5
4 3 2];
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
bar(Y)
1 2 3 4 5
0
1
2
3
4
5
6
7
8
9
bar3(Y)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Dapat dijelaskan dari grafik diatas sebagai berikut :
Setelah function bar selanjutnya anda coba gunakan perintah area untuk
merepresentasikan matriks Y.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
area(Y)
Dapat disimpulkan grafik area sebagai berikut :
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Function grafik 2 D yang sering digunakan
Nama Function Keterangan
loglog Berfungsi sama dengan plot , tetapi skala yang digunakan untuk
kedua sumbu adalah skala logaritma
semilogx Berfungsi sama dengan plot , tetapi sumbu x menggunakan skala
logaritma dan sumbu y menggunakan skala linear
semilogy Berfungsi sama dengan plot , tetapi sumbu y menggunakan skala
logaritma dan sumbu x menggunakan skala linear
pie(a,b) Berfungsi membuat grafik lingkaran dengan a adalah suatu array
dan b adalah logika opsional yang mendeskripsikan suatu jaring
atau jaring yang dilepaskan dari grafik lingkaran.
hist(y) Berfungsi menggambar 10 batang histogram untuk data dalam array
y
hist(y,n) Menggambar histogram sebanyak n , dengan n adalah bilangan
skalar
stem(z) Membuat suatu grafik dari titik-titik data dalam array z
dihubungkan dengan sumbu mendatar oleh suatu garis.
Function imagesc
Sebuah gambar dapat diwakili oleh sebuah matriks. Oleh karena itu anda dapat
menampilkan data yang berbentuk matriks ke dalam sebuah image dengan menggunakan
perintah imagesc.syntax dari imagesc yaitu sbb:
imagesc(A) , berfungsi menampilkan matriks A dalam sebuah image
imagesc(x,y,A) , berfungsi menampilkan matriks A dengan skala sumbu x dan y
dimana x dan y adalah array.
sebagai contoh perhatikan contoh berikut :
% Script graph6
% Menggunakan function imagesc
% membuat data sebuah sumur ID,x,y
ID=[1 2 3 4 5 6];
x=[10 20 40 50 70 20];
y=[10 10 30 20 50 70];
% dicari jarak tiap titik terhadap titik lainnya
% Digunakan rumus jarak d=sqrt((x2-x1)^2+(y2-y1)^2)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
n=length(x);
for i=1:n
for j=1:n
d(i,j)=sqrt((x(j)-x(i))^2+(y(j)-y(i))^2);
end
end
% Menampilkan data
subplot(2,1,1)
imagesc(d)
title('Image dari matriks d tanpa menggunakan skala')
colorbar('vert')
subplot(2,1,2)
imagesc(ID,ID,d)
title('Image dari matriks d menggunakan skala')
colorbar('vert')
Image dari matriks d tanpa menggunakan skala
1 2 3 4 5 6
1
2
3
4
5
6
0
20
40
60
Image dari matriks d menggunakan skala
1 2 3 4 5 6
1
2
3
4
5
6
0
20
40
60
Pada program graph6 dicari jarak dari satu titik terhadap titik lainnya lalu jarak tersebut
ditampilkan dalam bentuk image.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Contoh :
Script dibawah ini membuat arah sumbu y menjadi terbalik.
% Script flipy.m
% FLIPY: script to flip the direction of the y axis
%
% just type "flipy" at the matlab prompt
state=get(gca,'ydir');
if(strcmp(state,'normal'))
set(gca,'ydir','reverse')
else
set(gca,'ydir','normal')
end
Pada scipt flipy diatas pertama digunakan perintah state=get(gca,'ydir'), perintah ini
untuk mendapatkan informasi dari sumbu yang ditentukan.Setelah itu digunakan
if(strcmp(state,'normal')), untuk mngetahui apakah arah sumbu yang ditentukan tadi
masih normal tau tidak. Jika arah sumbu masih normal maka arah sumbu tersebut dibalik.
Grafik 3 Dimensi
Function plot3
Dalam plot 3 Dimensi terdapat juga perintah plot3 untuk bekerja dalam tiga
dimensi.Format yang digunakan sama dengan perintah plot dalam dua dimensi, kecuali
data yang digunakan adalah tiga satuan, bukan sepasang. Format umum dari plot3 adalah
plot3(x1,y1,z1,S1,x2,y2,z2,S2,…) dengan xn dan yn adalah array atau matriks sedangkan
Sn adalah karakter string opsional yang mengatur warna, simbol, tanda atau style garis.
Contoh :
Akan diplot persamaan r(t) = < t cos(t), t sin(t), t >, dengan nilai 10 10
t
π π
− ≤ ≤ , maka :
% Script file graph7.
% Kurva r(t) = < t*cos(t), t*sin(t), t >.
t = -10*pi:pi/100:10*pi;
x = t.*cos(t);
y = t.*sin(t);
h = plot3(x,y,t);
set(h,'LineWidth',1.25)
title('Curve u(t) = < t*cos(t), t*sin(t), t >')
h = get(gca,'Title');
set(h,'FontSize',12)
xlabel('x')
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
h = get(gca,'xlabel');
set(h,'FontSize',12)
ylabel('y')
h = get(gca,'ylabel');
28
set(h,'FontSize',12)
zlabel('z')
h = get(gca,'zlabel');
set(h,'FontSize',12)
grid
Perhatikan dalam contoh diatas terdapat fungsi zlabel yang serupa dengan fungsi xlabel
dan ylabel di grafik dua dimensi.Dengan cara yang sama perintah axis mempunyai
bentuk tiga dimensi.Pada dasarnya konsep manipulasi grafik pada dua dimensi juga
berlaku pada grafik tiga dimensi.
Grafik Jala
Matlab mendefinisikan suatu permukaan jala dengan koordinat z sebuah titik diatas grid
segiempat pada bidang x-y. Perintah mesh digunakan unutk menggambarkan permukaan
3 dimensi.Sebelum anda menggunakan perintah ini sebaiknya , anda pelajar dulu perintah
meshgrid . Perintah meshgrid didefinisikan sebagai berikut : [X,Y]=meshgrid(x,y)
menciptakan suatu matriks X dengan baris-barisnya adalah duplikat dari array x dan
suatu matriks Y dengan kolomnya adalah duplikat dari array y . Berikut ini contoh
penggunaan function mesh dan meshgrid.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
x = [0 1 2];
y = [10 12 14];
Perintah meshgrid akan membuat array x dan y menjadi dua matirks
[xi, yi] = meshgrid(x,y)
xi =
0 1 2
0 1 2
0 1 2
yi =
10 10 10
12 12 12
14 14 14
Bisa dilihat bahwa baris matriks xi adalah duplikat dari array x dan kolom matriks yi
adalah duplikat dari array y.
Pada contoh ini akan diplot permukaan parabola 2 2
z y x
= − dengan nilai 1 1
x
− ≤ ≤ dan
1 1
y
− ≤ ≤ .
x = -1:0.05:1;
y = x;
[xi, yi] = meshgrid(x,y);
zi = (yi.^2) – (xi.^2);
mesh(xi, yi, zi)
axis off
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Untuk memplot grafik mesh dengan konturnya digunakan perintah mesc
meshc(xi, yi, zi)
axis off
Dalam contoh ini mesh menggambarkan nilai-nilai elemen matriks pada titik
( , , )
ij ij ij
X Y Z dalam ruang tiga dimensi, mesh dapat juga menggunakan matriks tunggal
sebagai argumen : mesh(Z) mengubah skala dari sumbu x dan sumbu y sebagai indeks
dari matriks Z.
Matlab juga menyediakan function surf yang mempunyai susunan argumen sama dengan
mesh. Berikut contoh penggunaan function surf.
surf(xi,yi,zi)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Memanipulasi Grafik
Anda dapat memanipulasi grafik supaya terlihat lebih indah, anda dapat mengeset sudut
tampilan, memilih warna untuk grafik anda dan memuat shading. Sebagai contoh
perhatikan program graph8.m dibawah ini :
% Script graph5.
% Plot permukaan zi = yi.^2 + xi.^2 - 25
x = -1:.05:1;
y = x;
[xi,yi] = meshgrid(x,y);
zi = yi.^2 + xi.^2 - 25;
figure(1)
surfc(xi,yi,zi)
colormap copper
shading interp
view([25,15,20])
grid off
title('Hyperbolic paraboloid z = yi.^2 + xi.^2 - 25')
h = get(gca,'Title');
set(h,'FontSize',12)
xlabel('x')
h = get(gca,'xlabel');
set(h,'FontSize',12)
ylabel('y')
h = get(gca,'ylabel');
set(h,'FontSize',12)
zlabel('z')
h = get(gca,'zlabel');
set(h,'FontSize',12)
figure(2)
contourf(zi), hold on, shading flat
[c,h] = contour(zi,'k-'); clabel(c,h)
title('The level curves of z = y^2 - x^2.')
h = get(gca,'Title');
set(h,'FontSize',12)
xlabel('x')
h = get(gca,'xlabel');
set(h,'FontSize',12)
ylabel('y')
h = get(gca,'ylabel');
set(h,'FontSize',12)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Perintah view mempunyai bentuk lain yang mungkin dalam keadaan-keadaan tertentu
akan lebih berguna, view([ x y z ]) menempatkan sudut pandang anda pada suatu vektor
yang mempunyai koordinat Kartesius (x,y,z) dalam ruang tiga dimensi.
Dalam perinath shading, anda dapat memlih tiga cara shading untuk grafik mesh, surf,
yaitu :
• shading flat, membuat setiap bagian garis dari jala atau jejak permukaan akan
memiliki warna tetap.
• shading faceted, membuat shading datar dengan garis-garis jala berwarna hitam
dan bertumpuk-tumpuk.
• shading interp, mempunyai variasi warna bagian garis secara linear.
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Perintah colormap(M) menempatkan mtriks M pada peta warna untuk digunakan oleh
gambar yang aktif. Sebagai contoh : colormap(cool) akan menempatkan peta warna cool.
Di bawah ini beberapa fungsi Matlab untuk menghasilkan colormap yang didefinisikan
oleh Matlab.
Contoh Penyelesaian Masalah
Data subdcSMTdenseVec.dat merupakan laju perpindahan akibat pergerakan lempeng
disekitar subduction zone. Arah vektor merupakan resultan Ux dan Uy. X dan Y
merupakan koordinat riel bumi berupa longitude (bujur) dan latitude (lintang). Data
indonesia.dat merupakan data peta indonesia.. Estimasi nilai dilatasi pada daerah tersebut.
Strain 2-D bisa didefinisikan sebagai berikut:
eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((∂Ui/∂xj) + (∂Uj/∂xi));
Dilatasi dapat didefinisikan dengan
∆= (eii + ejj)
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Penyelesaian :
load subdcSMTdenseVec.dat;
data=subdcSMTdenseVec;
load indonesia.dat
xx=indonesia(:,1)*110*10^(5);
yy=indonesia(:,2)*110*10^(5);
% input data
x=data(:,1); y=data(:,2);
lonlim=[min(x) max(x)];latlim=[min(y) max(y)];
x=x*110*10^(5);
y=y*110*10^(5);
u=data(:,3); v=data(:,4);
n=length(x);
lamda=3.4*10^11;mu=lamda;
%Strain 2-D bisa didefinisikan sebagai berikut:
%eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((dUi/dxj) + (dUj/dxi));
%Strain 2-D bisa didefinisikan sebagai berikut:
%eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((dUi/dxj) + (dUj/dxi));
%Dilatasi dapat didefinisikan dengan
%delta= (eii + ejj)
%Stress diformulasikan sebagai:
%toij = lamda*ekk*deltaij + 2*myu*eij;
%lamda=myu
for i=1:n-1
xnew(i)=0.5*(x(i+1) + x(i));
ynew(i)=0.5*(y(i+1) + y(i));
% itung 0.5*((dUi/dXj)+(dUj/dXi))
du(i)=(u(i+1)-u(i)); % komponen dUi
dv(i)=(v(i+1)-v(i)); % komponen dUj
dx(i)=abs(x(i+1)-x(i)); % komponen dXi
dy(i)=abs(y(i+1)-y(i)); % komponen dXj
e11(i)=(du(i)/dx(i));
e12(i)=(0.5*((du(i)/dy(i))+(dv(i)/dx(i))));
e22(i)=(dv(i)/dy(i));
% dilat=dilatasi
dilat(i)=e11(i)+e22(i);
end
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
% visualisasi data perhitungan
t1=linspace(min(xnew),max(xnew),75);
t2=linspace(min(ynew),max(ynew),75);
[X,Y]=meshgrid(t1,t2); % koordinat grid
dilat_grid=griddata(xnew,ynew,dilat,X,Y,'cubic');
figure(1)
contourf(X,Y,dilat_grid,30),hold on;
title('Plot Dilatasi');caxis(10^-7*[-3 3]);shading flat
colorbar('vertical');
plot(xx,yy)
axis([min(x) max(x) min(y) max(y)])
Kuliah Berseri IlmuKomputer.Com
Copyright © 2004 IlmuKomputer.Com
Daftar Pustaka
a) Mastering Matlab Web site: http://www.eece.maine.edu/mm
b) Getting Started With MATLAB, Version 6, The MathWorks.Inc, 2002
c) MATLAB Bahasa Komputansi Teknis, Penerbit ANDI Yogyakarta 2000
d) Numerical Methods Using Matlab, ELLIS HORWOOD, 1995
e) Mastering MATLAB 5. A Comprehensive Tutorial and reference, Prentice Hall,
1998
f) Soal Ujian Tengah Semester Mekanika Sesar dan Gempa Bumi, Program studi
Geofisika Departemen Geofisika & Meteorologi ITB, Bandung, 2003.

More Related Content

DOC
Matlab 6
PPTX
4 Menggambar Grafik Fungsi Dengan Matlab
DOCX
Analisis matlab
PDF
Matlab tutor sns77_utama
PPT
Fungsi grafik di matlab
PPTX
Grafik 3 d (1)
PDF
Praktikum p-fisika
DOCX
Tugas kalkulus 2 r
Matlab 6
4 Menggambar Grafik Fungsi Dengan Matlab
Analisis matlab
Matlab tutor sns77_utama
Fungsi grafik di matlab
Grafik 3 d (1)
Praktikum p-fisika
Tugas kalkulus 2 r

What's hot (20)

DOCX
Tugas kalkulus
DOC
Matlab 7
PPS
Presentasi Matlab
DOCX
fungsi dan grafiknya
DOCX
kemonotonan dan kecekungan
DOCX
maksimum dan minimum
PPT
PDF
MATLAB Dalam Tuntunan Praktis
PDF
tugas matematika
PDF
Fungsi dan grafik
PDF
Limit fungsi
PDF
Kalkulus modul iv fungsi dan grafiknya
PDF
Grafika komputer
PDF
terapan turunan
PDF
Penggunaan turunan
DOCX
Turunan kedua suatu fungsi
PDF
Fungsi dan grafik
DOCX
Tugas Photosop vs Matlab
PPS
Bab 2 Fungsi ( Kalkulus 1 )
Tugas kalkulus
Matlab 7
Presentasi Matlab
fungsi dan grafiknya
kemonotonan dan kecekungan
maksimum dan minimum
MATLAB Dalam Tuntunan Praktis
tugas matematika
Fungsi dan grafik
Limit fungsi
Kalkulus modul iv fungsi dan grafiknya
Grafika komputer
terapan turunan
Penggunaan turunan
Turunan kedua suatu fungsi
Fungsi dan grafik
Tugas Photosop vs Matlab
Bab 2 Fungsi ( Kalkulus 1 )
Ad

Similar to 76110863 matlab (20)

PPTX
Pekan 6 - Metode Grafik Tugas 1.pptx
PDF
Grafik 2d
 
PDF
Panduan_Belajar_Mandiri_MATLAB.pdf
PDF
Praktikum p-fisika
PDF
Software Matematika Sebagai Penunjang Proses Belajar
PPTX
Grafik Matlab (1)-12578490-76598-7651279-9876-654phfy-78.pptx
PDF
Bab 2-kalkulus-ok1
DOCX
Laporan 1 penngantar program r
PDF
Galeri PythonTeX
DOCX
Analisa Rangkaian Listrik Menggunakan MATLAB
PDF
Konsep Array_sns
PDF
Matlab Tutorial Chapter 3
PDF
Modul Matematika Fungsi Kuadrat
DOCX
Fungsi kuadrat (2)
PDF
Latihan &kasus FTI314-sns
PPTX
ppt fungsi kuadrat 2.pptx
PDF
Cepat mahir dengan matlab
PDF
Matlab Tutorial
PDF
Tutorial matlab
PDF
Tutorialmatlab bahasa indonesia
Pekan 6 - Metode Grafik Tugas 1.pptx
Grafik 2d
 
Panduan_Belajar_Mandiri_MATLAB.pdf
Praktikum p-fisika
Software Matematika Sebagai Penunjang Proses Belajar
Grafik Matlab (1)-12578490-76598-7651279-9876-654phfy-78.pptx
Bab 2-kalkulus-ok1
Laporan 1 penngantar program r
Galeri PythonTeX
Analisa Rangkaian Listrik Menggunakan MATLAB
Konsep Array_sns
Matlab Tutorial Chapter 3
Modul Matematika Fungsi Kuadrat
Fungsi kuadrat (2)
Latihan &kasus FTI314-sns
ppt fungsi kuadrat 2.pptx
Cepat mahir dengan matlab
Matlab Tutorial
Tutorial matlab
Tutorialmatlab bahasa indonesia
Ad

Recently uploaded (17)

PPT
DAUR-BIOGEOKIMIA BIOLOGI PERSIAPAN UJIAN NASIONAL
PPTX
Power Point Penyerbukan, Rumus Bunga, dan
PDF
Penjadwalan dan proses pada sistem operasi
PPTX
01. HAKIKAT ILMU SAINS ILMU PENGETAHUAN ALAM .pptx
PPTX
SISTEM PENCERNAAN PADA MANUSIA PELAJARAN IPA KELAS 8
PPTX
modul ajar verb of be (tense) untuk tingkat sltp
PPTX
Besaran Pokok Besaran yang menjadi dasar bagi besaran lainnya dan tidak dapat...
PPTX
Kelompok 1_Konsep-Konsep Dasar Termodinamika-digabungkan (1).pptx
PDF
BSE Biologi (Makhluk Hidup dan Lingkungannya) Untuk SMA_MA Kelas XI - Endang ...
PPTX
PPT SMA SOSIOLOGI KELAS 10 BAB 1 [modulguruku.com].pptx
PPTX
02. PENGUKURAN MATERI ILMU PENGETAHUAN ALAM KELAS 8.pptx
PDF
PPT Kelompok 3 penciptaan alam semes.pdf
PDF
Dasar pengamatan burung di alam bebas...
PPTX
sumber daya alam untuk masa depan berkelanjutan
PPTX
1745621890_Temu_11B_Aljabar_Trigonometri (1).pptx
PPTX
Kelompok 2 Statitiska - Kaidah Pencacahan.pptx
PPTX
IPA Kls 9 1. Pertumbuhan dan perkembangan manusia.pptx
DAUR-BIOGEOKIMIA BIOLOGI PERSIAPAN UJIAN NASIONAL
Power Point Penyerbukan, Rumus Bunga, dan
Penjadwalan dan proses pada sistem operasi
01. HAKIKAT ILMU SAINS ILMU PENGETAHUAN ALAM .pptx
SISTEM PENCERNAAN PADA MANUSIA PELAJARAN IPA KELAS 8
modul ajar verb of be (tense) untuk tingkat sltp
Besaran Pokok Besaran yang menjadi dasar bagi besaran lainnya dan tidak dapat...
Kelompok 1_Konsep-Konsep Dasar Termodinamika-digabungkan (1).pptx
BSE Biologi (Makhluk Hidup dan Lingkungannya) Untuk SMA_MA Kelas XI - Endang ...
PPT SMA SOSIOLOGI KELAS 10 BAB 1 [modulguruku.com].pptx
02. PENGUKURAN MATERI ILMU PENGETAHUAN ALAM KELAS 8.pptx
PPT Kelompok 3 penciptaan alam semes.pdf
Dasar pengamatan burung di alam bebas...
sumber daya alam untuk masa depan berkelanjutan
1745621890_Temu_11B_Aljabar_Trigonometri (1).pptx
Kelompok 2 Statitiska - Kaidah Pencacahan.pptx
IPA Kls 9 1. Pertumbuhan dan perkembangan manusia.pptx

76110863 matlab

  • 1. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com C Ce ep pa at t M Ma ah hi ir r M Ma at tl la ab b Andry Pujiriyanto andrypuji@hmgm.geoph.itb.ac.id B Ba ab b 6 6 M Me em mb bu ua at t V Vi is su ua al li is sa as si i D Da at ta a d di i M Ma at tl la ab b Pada bab sebelumnya telah digunakan beberapa fasilitas grafis di Matlab. Dalam bab ini akan dibahas berbagai fasilitas grafis Matlab secara lebih jelas. Matlab menyediakan berbagai fungsi untuk menampilkan data secara dua dimensi maupun tiga dimensi. Pada kasus dimana anda membuat grafik dalam tiga dimensi, anda dapat menggambar permukaan dan menempatkan binkai pada grafik tersebut. Warna digunakan untuk mewakili dimensi keempat. Grafik Pertama Seperti telah digunakan pada bab sebelumnya, perintah plot sering digunakan untuk menggambarkan grafik dua dimensi. Perintah plot menggambarkan data dalam array pada sumbu yang bersesuaian dan menghubungkan titik-titik tersebut dengan garis lurus. Sebagai grafik pertama anda pada bab ini akan dibuat visualisasi dari sin( ) x y x = dengan nilai x ,10 100 π π ⎡ ⎤ ⎢ ⎥ ⎣ ⎦ , Lisensi Dokumen: Copyright © 2004 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
  • 2. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com x=pi/100:pi/100:10*pi; y=sin(x)./x; plot(x,y) grid on 0 5 10 15 20 25 30 35 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 Fungsi dasar untuk membuat grafik dua dimensi di Matlab adalah perintah plot , perintah ini didasarkan dari jumlah argumen variabel input . Untuk keterangan lebih jelas mengenai fungsi plot ketik help plot di command window. Memberi Keterangan Pada Grafik Contoh : Pada contoh dibawah ini dibuat grafik dari fungsi 2 ( ) 1 x f x x = + , dengan nilai x dari -2 sampai 2 menggunakan jumlah data yang berbeda. % Script file graph1. % Grafik fungsi y = x/(1+x^2) k=0; for n=1:2:7 n10 = 10*n; x = linspace(-2,2,n10); y = x./(1+x.^2); k=k+1; subplot(2,2,k) plot(x,y,'r') title(['Plot Fungsi dengan banyak data n
  • 3. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com = ',num2str(n10)]) axis([-2,2,-.8,.8]) xlabel('x') ylabel('y') grid end Function subplot digunakan untuk membuat suatu figure dapat memuat lebih dari satu gambar. Perintah sublot didefinisikan sebagai : subplot(n,m,i) Perintah tersebut membagi suatu figure menjadi suatu matriks m x n area grafik dan i berfungsi sebagai indeks penomoran gambar. Subplot dinomori dari kiri ke kanan dimulai dari baris teratas. Function title digunakan untuk memberi judul pada gambar. Input dari perintah title berupa string. Syntax title sebagai berikut : title(‘string’) Function xlabel digunakan untuk memberi label sumbu pada sumbu x. Input dari perintah xlabel berupa string. Syntax xlabel sebagai berikut : xlabel(‘string’)
  • 4. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Function ylabel digunakan untuk memberi label sumbu y. Input dari perintah ylabel berupa string. Syntax ylabel sebagai berikut : ylabel(‘string’) Function axis digunakan untuk mengatur nilai minimum dan maksimum dari sumbu x dan sumbu y , function axis didefinisikan sebagai : axis([ xmin xmax ymin ymax ]) Function grid digunakan untuk memberi grid pada gambar kita Membuat 2 Grafik Dalam 1 Gambar Contoh : Pada contoh 2 ini akan dibuat plot dari dua persamaan elips : 2 2 ( 3) ( 2) 1 36 81 x y − + + = dan 2 2 ( 7) ( 8) 1 4 36 x y − − + = , menggunakan perintah plot. % Script file graph2 % Grafik dari dua ellips % x(t) = 3 + 6cos(t), y(t) = -2 + 9sin(t) % dan % x(t) = 7 + 2cos(t), y(t) = 8 + 6sin(t). t = 0:pi/100:2*pi; x1 = 3 + 6*cos(t); y1 = -2 + 9*sin(t); x2 = 7 + 2*cos(t); y2 = 8 + 6*sin(t); h1 = plot(x1,y1,'r',x2,y2,'b'); set(h1,'LineWidth',1.25) axis('square') xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) set(gca,'XTick',-4:10) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12) set(gca,'YTick',-12:2:14) title('Graphs of (x-3)^2/36+(y+2)^2/81 = 1 and (x- 7)^2/4+(y-8)^2/36 =1.') h = get(gca,'Title'); set(h,'FontSize',12) grid
  • 5. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Pada program graph3.m kita merubah koordinat x dan y elips dari koordinat rectangular ke dalam koordinat parametrik . Pada program tersebut menunjukkan bahwa anda dapat menggambar lebih dari satu set data pada saat yang bersamaan hanya dengan memberikan sepasang argumen tambahan pada plot. Pada contoh diatas dibuat plot y1 terhadap x1 dan y2 terhadap x2. Plot secara otomatis menggambarkan kurva yang kedua dengan warna yang berbeda. Pada contoh diatas dibuat pengesetan warna , huruf dan garis dari grafik plot anda dengan menggunakan perintah h1=plot( ……,'b') set(h1,'LineWidth',1.25) axis('square') xlabel('x') . Anda dapat memilih sendiri style penandaan, warna dan bentuk garis dengan memberikan argumen ketiga pada fungsi plot untuk setiap pasangan array data. Argumen tambahan ini adalah suatu karakter string yang terdiri dari satu atau lebih karakter dari tabel di bawah ini: Simbol b r g c m Warna Biru Merah Hijau Cyan Magenta Simbol . o x + * Penandaan Titik Lingkaran Tanda x Tanda plus Tanda Simbol - : -. -- Style Garis Gari lurus Garis titk- titk Garis terpotong &
  • 6. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com y k w Kuning Hitam Putih s d p h bintang Bujursangkar Diamon Pentagram Heksagram titik Garis terpotong- potong Sebagai contoh yang menggunakan style, garis dan penandaan pada program graph2 adalah plot(x,y,'b:p') Perintah tersebut memerintahkan Matlab membuat plot grafik dimana titik grafik ditandai dengan pentagram, garis mempunyai style garis titik-titik dan berwarna biru. Perintah axis('square') memerintahkan Matlab membuat grafik yang aktif menjadi bujur sangkar bukan persegipanjang. Pada program diatas terdapat perintah yang dimulai dengan h1=plot …. , variabel h1 menyimpan informasi mengenai grafik yang anda buat yang disebut handle graphics. Perintah set pada baris selanjutnya digunakan untuk memanipulasi grafik.Harap diingat bahwa perintah ini mempunyai variabel input h1. Perintah Matlab lain yang penting yaitu perintah get .Perintah tersebut berdasar pada parameter input yang diberi nama gca = get current axis .Lalu untuk memanipulasi garis yang diinginkan digunakan perintah set seperti bisa dilihat pada program graph3. Menggunakan Perintah Hold Anda dapat menambahkan garis pada grafik yang sudah ada dengan perintah hold. Jika anda mengeset hold on , maka Matlab tidak akan mengganti sumbu-sumbu yang sudah ada jika perintah plot yang baru diberikan. Matlab akan langsung menambahkan kurva yang baru pada grafik yang telah ada. Namun apabila data yang baru tidak mencukupi untuk batasan-batasan sumbu yang ada maka akan dilakukan penskalaan ulang. Perintah hold off akan membuat jendela figure membuat gambar yang baru. Perintah hold tanpa argumen berfungsi sebagai toggle..Sebagai contoh Contoh : % Script graph3 % Grafik dari dua ellips % x(t) = 3 + 6cos(t), y(t) = -2 + 9sin(t) % dan % x(t) = 7 + 2cos(t), y(t) = 8 + 6sin(t). % Menggunakan perintah hold t = 0:pi/100:2*pi;
  • 7. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com x1 = 3 + 6*cos(t); y1 = -2 + 9*sin(t); x2 = 7 + 2*cos(t); y2 = 8 + 6*sin(t); plot(x1,y1,'r') ,hold on plot(x2,y2,'b') Langkah-Langkah Untuk Memplot Data Anda Untuk membuat suatu grafik dasar di Matlab yang dapat merepresentasikan data yang anda buat disimpulkan dalam enam tahap dalam membuat grafik pada tabel dibawah ini. Dalam langkah dibawah ini, langkah 1 sampai tiga sebenarnya sudah cukup untuk merepresentasikan data dalam sebuah grafik, langkah selanjutnya untuk membuat tampilan dari grafik lebih menarik. Matlab mempunyai banyak function yang khusus untuk grafik 2 dimensi. Sebagian dari fungsi tersebut adalah fill, polar, bar, barh, pie, hist, compass, errorbar, stem, quiver dan feather.
  • 8. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Function fill Pada contoh dibawah ini digunakan perintah fill untuk membuat suatu obyek. % Script graph4 % Menggunakan function fill n = -6:6; x = sin(n*pi/6); y = cos(n*pi/6); fill(x, y, 'r') axis('square') title('Graph of the n-gone') text(-0.45,0,'What is a name of this object ?') Function polar Grafik pada koordinat polar dapat dibuat dengan menggunakan perintah polar(t,r,s) , dengan t adalah sudut vector dalm radian, r adalah jari-jari vaktor dan s adalah karakter string yang bersifat opsional berfungsi untuk mendeskripsikan warna , symbol penandaan , dan style garis. Coba perhatikan contoh berikut :
  • 9. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com % Script graph4 % membuat grafik x(t)=sin(2t)cos(2t) t=linspace(0,2*pi); r=sin(2*t).*cos(2*t); polar(t,r) subplot(2,2,1) polar(t,r) title('Grafikpolar x(t)=sin(2t)cos(2t)') subplot(2,2,2) compass(t,r) title('PlotCompass x(t)=sin(2t)cos(2t)') subplot(2,2,3) feather(t,r) title('Plotfeather x(t)=sin(2t)cos(2t)') subplot(2,2,4) rose(r) title('HistogramSudut x(t)=sin(2t)cos(2t)')
  • 10. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Function compass dan feather digunakan untuk menampilkan sudut dan besarnya elemen-elemen kompleks dalam z sebagai anak panah berasal dari pusat koordinat. Untuk keterangan lebih detail coba gunakan perintah help feather , help compass dan help rose. Function ginput Perintah ginput merupakan cara untuk memilih titik-titik dari grafik aktif dengan bantuan mouse.[x,y]=ginput(n) maksudnya mengambil n titik dari sumbu aktif dan mengisikan koordinatnya dalam array kolom x dan y . Jika n tidak terisi , Matlab akan mengambil jumlah titik secara tak terbatas sampai tombol Return atau Enter ditekan. Sebagai contoh perhatikan program graph5 berikut : % Script graph5 % Loop, mengambil titik-titik pada grafik. disp('Klik kiri untuk menentukan titik-titk yang diinginkan.') disp('Klik kanan untuk menentukan titik terakhir') but = 1;n=0; while but == 1 [xi,yi,but] = ginput(1); plot(xi,yi,'ro') n = n+1; xy(:,n) = [xi;yi]; end % Interpolate with a spline curve and finer spacing. t = 1:n; ts = 1: 0.1: n; xys = spline(t,xy,ts); % Plot the interpolated curve. plot(xys(1,:),xys(2,:),'b-'); hold off
  • 11. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Function quiver Gambar vektor yang mengambarkan arah dan besarnya dapat divisualisasikan dengan menggunakan fungsi quiver. Misal kita mempunyai data laju perpindahan akibat pergerakan lempeng disekitar subduction zone. Data tersebut mempunyai nama subdcSMTdenseVec.dat, dan isi dari data tersebut adalah koordinat riel bumi berupa longitude (bujur), latitude (lintang), besar vektor dan kecepatan vektor. Juga diberikan data kepulauan Indonesia di indonesia.dat. Anda akan mencoba memvisualisasikan kedua data tersebut. Dibuat script di matlab sebagai berikut : % plot_vector.mat load subdcSMTdenseVec.dat load indonesia.dat data=subdcSMTdenseVec; % pendefinisian data x=data(:,1); y=data(:,2); U=data(:,3); V=data(:,3); quiver(x,y,U,V,'r'),hold on plot(indonesia(:,1),indonesia(:,2)) axis([min(x) max(x) min(y) max(y)]) Apabila kita eksekusi program tersebut akan menghasilkan gambar di bawah ini :
  • 12. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Pada program plot_vektor.m, pertama data didefinisikan dengan menggunakan fungsi load. Lalu data tersebut disimpan di variable x, y, U dan V yang merupakan data longitude (bujur), latitude (lintang), besar vektor dan kecepatan vector. Perintah quiver(x,y,U,V,'r'), membuat gambar besar dan arah vector di koordinat longitude dan latitude dengan warna merah. Perintah plot(indonesia(:,1),indonesia(:,2)), memplot semua data pada kolom satu dan dua dari data indonesia.dat yang tersimpan di variable indonesia. Perintah axis([min(x) max(x) min(y) max(y)], membuat batas gambar berdasarkan daerah di data vector. Grafik Batang dan Area Grafik batang dapat dibuat dengan menggunakan perintah bar , bar3 , barh. Function bar dan area menampilkan data vektor dan matriks. Function jenis ini berguna untuk membandingkan beberapa data yang berbeda. Dibawah dijelaskan keterangan mengenai perintah-perintah tersebut. Sebagai contoh dibuat matriks Y dan digunakan function bar dan bar3 untuk matriks Y Y = [5 2 1 8 7 3 9 8 6 5 5 5 4 3 2];
  • 13. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com bar(Y) 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 bar3(Y)
  • 14. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Dapat dijelaskan dari grafik diatas sebagai berikut : Setelah function bar selanjutnya anda coba gunakan perintah area untuk merepresentasikan matriks Y.
  • 15. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com area(Y) Dapat disimpulkan grafik area sebagai berikut :
  • 16. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Function grafik 2 D yang sering digunakan Nama Function Keterangan loglog Berfungsi sama dengan plot , tetapi skala yang digunakan untuk kedua sumbu adalah skala logaritma semilogx Berfungsi sama dengan plot , tetapi sumbu x menggunakan skala logaritma dan sumbu y menggunakan skala linear semilogy Berfungsi sama dengan plot , tetapi sumbu y menggunakan skala logaritma dan sumbu x menggunakan skala linear pie(a,b) Berfungsi membuat grafik lingkaran dengan a adalah suatu array dan b adalah logika opsional yang mendeskripsikan suatu jaring atau jaring yang dilepaskan dari grafik lingkaran. hist(y) Berfungsi menggambar 10 batang histogram untuk data dalam array y hist(y,n) Menggambar histogram sebanyak n , dengan n adalah bilangan skalar stem(z) Membuat suatu grafik dari titik-titik data dalam array z dihubungkan dengan sumbu mendatar oleh suatu garis. Function imagesc Sebuah gambar dapat diwakili oleh sebuah matriks. Oleh karena itu anda dapat menampilkan data yang berbentuk matriks ke dalam sebuah image dengan menggunakan perintah imagesc.syntax dari imagesc yaitu sbb: imagesc(A) , berfungsi menampilkan matriks A dalam sebuah image imagesc(x,y,A) , berfungsi menampilkan matriks A dengan skala sumbu x dan y dimana x dan y adalah array. sebagai contoh perhatikan contoh berikut : % Script graph6 % Menggunakan function imagesc % membuat data sebuah sumur ID,x,y ID=[1 2 3 4 5 6]; x=[10 20 40 50 70 20]; y=[10 10 30 20 50 70]; % dicari jarak tiap titik terhadap titik lainnya % Digunakan rumus jarak d=sqrt((x2-x1)^2+(y2-y1)^2)
  • 17. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com n=length(x); for i=1:n for j=1:n d(i,j)=sqrt((x(j)-x(i))^2+(y(j)-y(i))^2); end end % Menampilkan data subplot(2,1,1) imagesc(d) title('Image dari matriks d tanpa menggunakan skala') colorbar('vert') subplot(2,1,2) imagesc(ID,ID,d) title('Image dari matriks d menggunakan skala') colorbar('vert') Image dari matriks d tanpa menggunakan skala 1 2 3 4 5 6 1 2 3 4 5 6 0 20 40 60 Image dari matriks d menggunakan skala 1 2 3 4 5 6 1 2 3 4 5 6 0 20 40 60 Pada program graph6 dicari jarak dari satu titik terhadap titik lainnya lalu jarak tersebut ditampilkan dalam bentuk image.
  • 18. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Contoh : Script dibawah ini membuat arah sumbu y menjadi terbalik. % Script flipy.m % FLIPY: script to flip the direction of the y axis % % just type "flipy" at the matlab prompt state=get(gca,'ydir'); if(strcmp(state,'normal')) set(gca,'ydir','reverse') else set(gca,'ydir','normal') end Pada scipt flipy diatas pertama digunakan perintah state=get(gca,'ydir'), perintah ini untuk mendapatkan informasi dari sumbu yang ditentukan.Setelah itu digunakan if(strcmp(state,'normal')), untuk mngetahui apakah arah sumbu yang ditentukan tadi masih normal tau tidak. Jika arah sumbu masih normal maka arah sumbu tersebut dibalik. Grafik 3 Dimensi Function plot3 Dalam plot 3 Dimensi terdapat juga perintah plot3 untuk bekerja dalam tiga dimensi.Format yang digunakan sama dengan perintah plot dalam dua dimensi, kecuali data yang digunakan adalah tiga satuan, bukan sepasang. Format umum dari plot3 adalah plot3(x1,y1,z1,S1,x2,y2,z2,S2,…) dengan xn dan yn adalah array atau matriks sedangkan Sn adalah karakter string opsional yang mengatur warna, simbol, tanda atau style garis. Contoh : Akan diplot persamaan r(t) = < t cos(t), t sin(t), t >, dengan nilai 10 10 t π π − ≤ ≤ , maka : % Script file graph7. % Kurva r(t) = < t*cos(t), t*sin(t), t >. t = -10*pi:pi/100:10*pi; x = t.*cos(t); y = t.*sin(t); h = plot3(x,y,t); set(h,'LineWidth',1.25) title('Curve u(t) = < t*cos(t), t*sin(t), t >') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x')
  • 19. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); 28 set(h,'FontSize',12) zlabel('z') h = get(gca,'zlabel'); set(h,'FontSize',12) grid Perhatikan dalam contoh diatas terdapat fungsi zlabel yang serupa dengan fungsi xlabel dan ylabel di grafik dua dimensi.Dengan cara yang sama perintah axis mempunyai bentuk tiga dimensi.Pada dasarnya konsep manipulasi grafik pada dua dimensi juga berlaku pada grafik tiga dimensi. Grafik Jala Matlab mendefinisikan suatu permukaan jala dengan koordinat z sebuah titik diatas grid segiempat pada bidang x-y. Perintah mesh digunakan unutk menggambarkan permukaan 3 dimensi.Sebelum anda menggunakan perintah ini sebaiknya , anda pelajar dulu perintah meshgrid . Perintah meshgrid didefinisikan sebagai berikut : [X,Y]=meshgrid(x,y) menciptakan suatu matriks X dengan baris-barisnya adalah duplikat dari array x dan suatu matriks Y dengan kolomnya adalah duplikat dari array y . Berikut ini contoh penggunaan function mesh dan meshgrid.
  • 20. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com x = [0 1 2]; y = [10 12 14]; Perintah meshgrid akan membuat array x dan y menjadi dua matirks [xi, yi] = meshgrid(x,y) xi = 0 1 2 0 1 2 0 1 2 yi = 10 10 10 12 12 12 14 14 14 Bisa dilihat bahwa baris matriks xi adalah duplikat dari array x dan kolom matriks yi adalah duplikat dari array y. Pada contoh ini akan diplot permukaan parabola 2 2 z y x = − dengan nilai 1 1 x − ≤ ≤ dan 1 1 y − ≤ ≤ . x = -1:0.05:1; y = x; [xi, yi] = meshgrid(x,y); zi = (yi.^2) – (xi.^2); mesh(xi, yi, zi) axis off
  • 21. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Untuk memplot grafik mesh dengan konturnya digunakan perintah mesc meshc(xi, yi, zi) axis off Dalam contoh ini mesh menggambarkan nilai-nilai elemen matriks pada titik ( , , ) ij ij ij X Y Z dalam ruang tiga dimensi, mesh dapat juga menggunakan matriks tunggal sebagai argumen : mesh(Z) mengubah skala dari sumbu x dan sumbu y sebagai indeks dari matriks Z. Matlab juga menyediakan function surf yang mempunyai susunan argumen sama dengan mesh. Berikut contoh penggunaan function surf. surf(xi,yi,zi)
  • 22. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Memanipulasi Grafik Anda dapat memanipulasi grafik supaya terlihat lebih indah, anda dapat mengeset sudut tampilan, memilih warna untuk grafik anda dan memuat shading. Sebagai contoh perhatikan program graph8.m dibawah ini : % Script graph5. % Plot permukaan zi = yi.^2 + xi.^2 - 25 x = -1:.05:1; y = x; [xi,yi] = meshgrid(x,y); zi = yi.^2 + xi.^2 - 25; figure(1) surfc(xi,yi,zi) colormap copper shading interp view([25,15,20]) grid off title('Hyperbolic paraboloid z = yi.^2 + xi.^2 - 25') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12) zlabel('z') h = get(gca,'zlabel'); set(h,'FontSize',12) figure(2) contourf(zi), hold on, shading flat [c,h] = contour(zi,'k-'); clabel(c,h) title('The level curves of z = y^2 - x^2.') h = get(gca,'Title'); set(h,'FontSize',12) xlabel('x') h = get(gca,'xlabel'); set(h,'FontSize',12) ylabel('y') h = get(gca,'ylabel'); set(h,'FontSize',12)
  • 23. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Perintah view mempunyai bentuk lain yang mungkin dalam keadaan-keadaan tertentu akan lebih berguna, view([ x y z ]) menempatkan sudut pandang anda pada suatu vektor yang mempunyai koordinat Kartesius (x,y,z) dalam ruang tiga dimensi. Dalam perinath shading, anda dapat memlih tiga cara shading untuk grafik mesh, surf, yaitu : • shading flat, membuat setiap bagian garis dari jala atau jejak permukaan akan memiliki warna tetap. • shading faceted, membuat shading datar dengan garis-garis jala berwarna hitam dan bertumpuk-tumpuk. • shading interp, mempunyai variasi warna bagian garis secara linear.
  • 24. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Perintah colormap(M) menempatkan mtriks M pada peta warna untuk digunakan oleh gambar yang aktif. Sebagai contoh : colormap(cool) akan menempatkan peta warna cool. Di bawah ini beberapa fungsi Matlab untuk menghasilkan colormap yang didefinisikan oleh Matlab. Contoh Penyelesaian Masalah Data subdcSMTdenseVec.dat merupakan laju perpindahan akibat pergerakan lempeng disekitar subduction zone. Arah vektor merupakan resultan Ux dan Uy. X dan Y merupakan koordinat riel bumi berupa longitude (bujur) dan latitude (lintang). Data indonesia.dat merupakan data peta indonesia.. Estimasi nilai dilatasi pada daerah tersebut. Strain 2-D bisa didefinisikan sebagai berikut: eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((∂Ui/∂xj) + (∂Uj/∂xi)); Dilatasi dapat didefinisikan dengan ∆= (eii + ejj)
  • 25. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Penyelesaian : load subdcSMTdenseVec.dat; data=subdcSMTdenseVec; load indonesia.dat xx=indonesia(:,1)*110*10^(5); yy=indonesia(:,2)*110*10^(5); % input data x=data(:,1); y=data(:,2); lonlim=[min(x) max(x)];latlim=[min(y) max(y)]; x=x*110*10^(5); y=y*110*10^(5); u=data(:,3); v=data(:,4); n=length(x); lamda=3.4*10^11;mu=lamda; %Strain 2-D bisa didefinisikan sebagai berikut: %eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((dUi/dxj) + (dUj/dxi)); %Strain 2-D bisa didefinisikan sebagai berikut: %eij = 0.5 * (Ui,j + Uj,i) = 0.5 * ((dUi/dxj) + (dUj/dxi)); %Dilatasi dapat didefinisikan dengan %delta= (eii + ejj) %Stress diformulasikan sebagai: %toij = lamda*ekk*deltaij + 2*myu*eij; %lamda=myu for i=1:n-1 xnew(i)=0.5*(x(i+1) + x(i)); ynew(i)=0.5*(y(i+1) + y(i)); % itung 0.5*((dUi/dXj)+(dUj/dXi)) du(i)=(u(i+1)-u(i)); % komponen dUi dv(i)=(v(i+1)-v(i)); % komponen dUj dx(i)=abs(x(i+1)-x(i)); % komponen dXi dy(i)=abs(y(i+1)-y(i)); % komponen dXj e11(i)=(du(i)/dx(i)); e12(i)=(0.5*((du(i)/dy(i))+(dv(i)/dx(i)))); e22(i)=(dv(i)/dy(i)); % dilat=dilatasi dilat(i)=e11(i)+e22(i); end
  • 26. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com % visualisasi data perhitungan t1=linspace(min(xnew),max(xnew),75); t2=linspace(min(ynew),max(ynew),75); [X,Y]=meshgrid(t1,t2); % koordinat grid dilat_grid=griddata(xnew,ynew,dilat,X,Y,'cubic'); figure(1) contourf(X,Y,dilat_grid,30),hold on; title('Plot Dilatasi');caxis(10^-7*[-3 3]);shading flat colorbar('vertical'); plot(xx,yy) axis([min(x) max(x) min(y) max(y)])
  • 27. Kuliah Berseri IlmuKomputer.Com Copyright © 2004 IlmuKomputer.Com Daftar Pustaka a) Mastering Matlab Web site: http://www.eece.maine.edu/mm b) Getting Started With MATLAB, Version 6, The MathWorks.Inc, 2002 c) MATLAB Bahasa Komputansi Teknis, Penerbit ANDI Yogyakarta 2000 d) Numerical Methods Using Matlab, ELLIS HORWOOD, 1995 e) Mastering MATLAB 5. A Comprehensive Tutorial and reference, Prentice Hall, 1998 f) Soal Ujian Tengah Semester Mekanika Sesar dan Gempa Bumi, Program studi Geofisika Departemen Geofisika & Meteorologi ITB, Bandung, 2003.