Anda di halaman 1dari 27

Kuliah Berseri IlmuKomputer.

Com
Copyright 2004 IlmuKomputer.Com

Cepat Mahir Matlab


Andry Pujiriyanto
andrypuji@hmgm.geoph.itb.ac.id

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.

Bab 6
Membuat Visualisasi Data di
Matlab
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.
sin( x )
dengan
Sebagai grafik pertama anda pada bab ini akan dibuat visualisasi dari y =
x

nilai x
,10 ,
100

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.8

0.6

0.4

0.2

-0.2

-0.4

10

15

20

25

30

35

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 f ( x) =
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

x
, dengan nilai x dari -2
1 + x2

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 :

( x 3) 2 ( y + 2) 2
+
= 1 dan
36
81

( x 7) 2 ( y 8) 2
+
= 1 , menggunakan perintah plot.
4
36

%
%
%
%
%

Script
Grafik
x(t) =
dan
x(t) =

file graph2
dari dua ellips
3 + 6cos(t), y(t) = -2 + 9sin(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 (x7)^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

Warna

Simbol

Penandaan

Simbol

Style Garis

b
r
g
c
m

Biru
Merah
Hijau
Cyan
Magenta

.
o
x
+
*

Titik
Lingkaran
Tanda x
Tanda plus
Tanda

:
-.

Gari lurus
Garis titktitk
Garis
terpotong &

--

Kuliah Berseri IlmuKomputer.Com


Copyright 2004 IlmuKomputer.Com

Kuning
Hitam
Putih

y
k
w

s
d
p
h

bintang
Bujursangkar
Diamon
Pentagram
Heksagram

titik
Garis
terpotongpotong

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
compass dan help rose.

feather , help

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
8
9
5
4

2
7
8
5
3

1
3
6
5
2];

Kuliah Berseri IlmuKomputer.Com


Copyright 2004 IlmuKomputer.Com

bar(Y)

bar3(Y)

Kuliah Berseri IlmuKomputer.Com


Copyright 2004 IlmuKomputer.Com

Dapat dijelaskan dari grafik diatas sebagai berikut :

Setelah function bar selanjutnya


merepresentasikan matriks Y.

anda

coba

gunakan

perintah

area

untuk

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
loglog
semilogx
semilogy
pie(a,b)

hist(y)
hist(y,n)
stem(z)

Keterangan
Berfungsi sama dengan plot , tetapi skala yang digunakan untuk
kedua sumbu adalah skala logaritma
Berfungsi sama dengan plot , tetapi sumbu x menggunakan skala
logaritma dan sumbu y menggunakan skala linear
Berfungsi sama dengan plot , tetapi sumbu y menggunakan skala
logaritma dan sumbu x menggunakan skala linear
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.
Berfungsi menggambar 10 batang histogram untuk data dalam array
y
Menggambar histogram sebanyak n , dengan n adalah bilangan
skalar
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
60
2
3

40

4
20

5
6
1

Image dari matriks d menggunakan skala


1
60
2
3

40

4
20

5
6
1

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 t 10 , 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
0
0

1
1
1

2
2
2

yi =
10
12
14

10
12
14

10
12
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 z = y 2 x 2 dengan nilai 1 x 1 dan
1 y 1 .
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
( X ij , Yij , Z ij ) 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.

Anda mungkin juga menyukai