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.
x , dengan nilai x dari -2 1 + x2

% 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 : ( x 7) 2 ( y 8) 2 + = 1 , menggunakan perintah plot. 4 36 ( x 3) 2 ( y + 2) 2 + = 1 dan 36 81

% % % % %

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 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 titktitk 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 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 4 5 6 1 2 3 4 5 6 0 20 40

Image dari matriks d menggunakan skala 1 60 2 3 4 5 6 1 2 3 4 5 6 0 20 40

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 yi = 10 12 14 1 1 1 10 12 14 2 2 2 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.