Jumat, 23 November 2012

Cara Membuat Grafik Pada Matlab

 Di Matlab sudah disediakan fasilitas untuk menampilkan grafik dari kumpulan data yang ada. Selain grafik yang ditampilkan, dapat juga ditambahkan aksesoris yang lain untuk memberikan informasi yang jelas. Dengan menggunakan command plot, bar, atau yang lain kita bisa menampilkan sebuah grafik dalam bentuk 2D maupun 3D. Tentunya, masing-masing memiliki syarat-syarat yang harus terpenuhi. Misalnya, untuk menampilkan grafik 2D harus tersedia data matriks 2 dimensi. Jika akan menampilkan grafik 3D maka harus tersedia data matriks 3 dimensi pula.

GRAFIK 2D
Ø  Grafik komputer 2 dimensi biasa disebut dengan 2D atau bidang adalah bentuk dari benda yang memiliki panjang dan lebar. Grafik 2 Dimensi merupakan teknik penggambaran yang berpatokan pada titik koordinat sumbu x (datar) dan sumbu y (tegak). Agar dapat tampil dengan sempurna, gambar yang akan ditampilkan dengan teknik ini harus memiliki nilai koordinat x dan y minimum 0 dan maksimum sebesar resolusi yang digunakan.
Grafik komputer 2D adalah sebuah generasi gambar digital berbasis komputer, yang kebanyakan mengambil objek-objek dua dimensi (2D). Model Grafik 2D merupakan kombinasi dari model geometri (juga disebut sebagai grafik vektor), gambar digital (raster graphics), fungsi matematika, dan sebagainya. Komponen-komponen ini dapat dimodifikasi dan dimanipulasi oleh transformasi geometri dua dimensi, seperti translasi, rotasi, dan dilatasi.
Cara yang paling mudah untuk membuat sebuah gambar 2D kompleks yaitu dimulai dengan sebuah “canvas” kosong yang diisi dengan warna latar tertentu, yang kemudian kita “draw”, “paint”, atau “paste” suatu warna kedalamnya, dengan urutan-urutan tertentu. Intinya, kanvas tersebut merupakan “frame buffer” atau bayangan dari layar komputer.
Model-model yang digunakan pada disain grafis 2D biasanya tidak mendukung bentuk-bentuk tiga-dimensi, atau fenomena yang bersifat tiga dimensi, seperti pencahayaan, bayangan, pantulan, refraksi, dan sebagainya. Namun demikian, mereka dapat membuat model berlapis-lapis (layer); nyata, translusen, dan transparan, yang dapat ditumpuk dalam urutan tertentu. Urutan tersebut biasanya didefinisikan dengan angka (kedalaman lapisan, atau jarak dari si penglihat).
Banyak antarmuka grafis atau yang kita kenal dengan GUI (Grapical User Interface) yang berbasiskan model grafis 2D. Software-software yang mendukung GUI dapat menciptakan “keadaan visual” dalam berinteraksi dengan komputer, sehingga para pengguna tidak selalu harus melihat tulisan. Grafik 2D juga penting bagi kendali peralatan-peralatan semacam printer, plotter, shredder, dan sebagainya. Mereka juga digunakan pada beberapa video dan games sederhana seperti solitaire, chess, atau mahjong.
Ø  Menggambar grafik 2D dalam MATLAB
Ada 2 perintah dalam matlab yang berfungsi utuk menggambar grafik fungsi yaitu “ezplot” dan “plot”
·       Plot
Plot(y) adalah perintah dalam MATLAB untuk menggambarkan grafik y berdasarkan nilai-nilai y1, y2, y3, y4, . . ., yn yang sudah diketahui. Nantinya plot akan memunculkan grafik berdasarkan koordinat titik (1, y1), (2,y2), (3,y3), . . . ,(n,yn) yang menggabungkan antara koordinat titik (i,yi) dan (i+1,yi+1) dengan garis lurus.
Contoh 1:
Misalnya kita akan menggambar grafik y dengan nilai y1, y2, y3, y4, y5, y6 secara berturut-turut adalah 1, 5, -6, 8, 9, dan 19.
Penyelesaian:
>> y = [ 1 5 -6 8 9 19];
>> plot(y)
Description: http://blog.student.uny.ac.id/anasy0ga/files/2011/04/1-300x240.jpg
·         Ezplot
Ezplot(y) adalah perintah dalam MATLAB untuk menggambarkan grafik y berdasarkan persamaan yang sudah diketahui.
Contoh 2:
Misalkan kita akan membuat grafik y = x2
Penyelesaian:
>> y1 = inline(‘ x^2 ’); % simbol “^” menandakan pangkat
>> ezplot(y1)
Description: http://blog.student.uny.ac.id/anasy0ga/files/2011/04/2-300x253.jpg
Ø  Mempercantik tampilan grafik 2D dalam MATLAB
Dalam MATLAB juga tersedia cara untuk mempercantik tampilan grafik 2D dengan beberapa peritah:
·       Style garis grafik
Beberapa style garis yang bisa digunakan.
Description: http://blog.student.uny.ac.id/anasy0ga/files/2011/04/LS.jpg
·       Ketebalan garis grafik
Pada MATLAB, kita juga dapat mengatur ketebalan garis. Ketebalan garis normal adalah 0.5 points (1points = 1/72 inc).
·       Warna garis grafik
Beberapa warna garis yang bisa digunakan.
Description: http://blog.student.uny.ac.id/anasy0ga/files/2011/04/LC-223x300.jpg
·       Menggambar bentuk (mark) titik data
Description: http://blog.student.uny.ac.id/anasy0ga/files/2011/04/LM-300x214.jpg


GRAFIK 3D
Ø  Grafik komputer 3 dimensi biasa disebut 3D atau adalah bentuk dari benda yang memiliki panjang, lebar, dan tinggi. Grafik 3 Dimensi merupakan teknik penggambaran yg berpatokan pada titik koordinat sumbu x(datar), sumbu y(tegak), dan sumbu z(miring).Representasi dari data geometrik 3 dimensi sebagai hasil dari pemrosesan dan pemberian efek cahaya terhadap grafika komputer 2D. Tiga Dimensi, biasanya digunakan dalam penanganan grafis. 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game komputer.
Grafik 3D merupakan perkembangan dari grafik 2D. Didalam grafika komputer, 3D merupakan bentuk grafik yang menggunakan representasi data geometri tiga dimensi.
Suatu objek rangka 3D apabila disinari dari arah tertentu akan membentuk bayangan pada permukaan gambar.
Proses pembuatan grafik komputer 3D dapat dibagi ke dalam tiga fase, yaitu 3D modeling yang mendeskripsikan bentuk dari sebuah objek, layout dan animation yang mendeskripsikan gerakan dan tata letak sebuah objek, dan 3D rendering yang memproduksi image dari objek tersebut.
Istilah atau Pengertian Grafik 3D adalah sebuah gambar,garis,lengkungan,dan sebagainya yang memiliki titik-titik yang menghubungkan menjadi sebuah bentuk 3D
Di dalam dunia game, 3D secara umum merujuk pada kemampuan dari sebuah video card (link). Saat ini video card menggunakan variasi dari instruksi-instruksi yang ditanamkan dalam video card itu sendiri (bukan berasal dari software) untuk mencapai hasil grafik yang lebih realistis dalam memainkan game komputer.
Ø  Untuk memplot 3 dimensi, anda harus membuat grid tiap titik dalam domain x-y ;
>>x=a:dc:b;
>>y=c:dy:d;
[X,Y]=meshgrid(x,y);
Perintah terakhir menciptakan 2 matriks X dan Y dengan panjang (y) dan
panjang (x) (baris dengan kolom). Elemen tiap elemen merupakan pasangan matriks.
» x=[1 2 3];
» y=[4 5 6 7];
» [X,Y]=meshgrid(x,y)
X =
1 2 3
1 2 3
1 2 3
1 2 3
Y =
4 4 4
5 5 5
6 6 6
7 7 7
X meningkat sepanjang kolom dari kiri ke kanan dalam variable x, Y meningkat  dari kiri ke kanan pada baris pada variable y.  Jika fungsi dihitung dengan grid,  katakan  z=f(X,Y),  maka perintahnya :
> plot3(X,Y,z)
membentuk plot linear seperti perintah plot 2 dimensi.
Perintah plot3 sangat berguna dalam kurva ruang (space). Sebagai contoh : helix
diplot dengan perintah
» t=0:pi/30:6*pi;
» plot3(cos(t),sin(t),t)
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/11-300x226.jpg
Ø Matlab menyediakan 2 perintah untuk plotting surfaces: mesh dan surf.
Mesh –> menggunakan 3-d data dan menciptakan kaitan (wire mesh) melalui tiap titik.
Surf –> menciptakan mesh plot dengan ruang diantara garis (lines), mengisi warna menggunakan data z. Ini contohnya :
» x=0:pi/20:pi;
» y=x;
» [X,Y]=meshgrid(x,y);
» f=inline(‘sin(2*x).*cos(3/2*y)’,'x’,'y’)
=
inline function:
(x,y) = sin(2*x).*cos(3/2*y)
» %Note the function is vectorized
» subplot(1,2,1),mesh(X,Y,f(X,Y))
» title(‘A Mesh Plot’)
» subplot(1,2,2),surf(X,Y,f(X,Y))
» title(‘A Surf Plot’)
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/22-300x191.jpg
Skema warna untuk suface plots dapat dengan mudah diganti. Beberapa
diantara color maps: hot, cool, gray, copper, summer, winter,bone.
Menggunakan contoh di atas
>>colormap(whatever you choose)
>>colorbar
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/31-300x187.jpg
Color bar meminta Matlab membuat kisaran ‘copper’ dengan nilai fungsi numeric.
Shading dalam Surf Plots
Efect shading dalam surf plots dapat diperoleh ; hal ini mengontrol bagaimana warna (color) diinterpolasikan diantara garis.  Ada 3 jenis :
(1) faceted (gambar di atas) dengan pewarnaan yang tetap.
(2) flat ( lines dibuang tapi tiap bagian mempunyai warna yang konstan)
(3) interpolated (lines dibuang dan warna tiap bagian diinterpolasi diantara tepi).
Contoh menggunakan fungsi yang sama dengan fungsi sebelumnya
» subplot(1,2,1),surf(X,Y,f(X,Y))
» colormap(bone)
» shading flat
» title(‘Flat Shading’)
» subplot(1,2,2),surf(X,Y,f(X,Y))
» shading interp
» title(‘Interpolated Shading’)
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/4-300x191.jpg
Plot Kontur (Contour Plots)
Diberikan data mesh, plot kontur dapat di bangkitkan dengan perintah contour.
Sebagai contoh:
» x=0:0.5:6;
» t=0:0.5:20;
» [X,T]=meshgrid(x,t);
» g=inline(‘cos(x-0.4*y).*exp(-0.4*x)’,'x’,'y’)
g =
Inline function:
g(x,y) = cos(x-0.4*y).*exp(-0.4*x)
» contour(X,T,g(X,T))
» colorbar
» title(‘Damped Traveling Wave’)
» xlabel(‘x’)
» ylabel(‘t’)
Hasilnya seperti gambar berikut :
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/5-300x206.jpg
Kontur dapat dikombinasikan dengan plot surf dan mesh plots, seperti :
» surfc(X,Y,g(X,Y))
% surfc or meshc are the commands
» xlabel(‘x’)
» ylabel(‘t’)
» colormap(bone)
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/61-300x203.jpg
           
Akhirnya, kombinasi dari patch shading dan contour dapat dilakukan dengan pcolor.
» x=0:0.5:6;
» t=0:0.5:40;
» [X,T]=meshgrid(x,t);
» pcolor(X,T,g(X,T))
» shading interp
» hold on
» contour(X,T,g(X,T),’k')
% ‘k’ membuat garis kontur menjadi hitam
» colorbar
» title(‘Traveling Wave with pcolor’)
» xlabel(‘x’)
» ylabel(‘t’)
Description: http://blog.student.uny.ac.id/brennadiva/files/2011/04/71-300x203.jpg
Demikian semoga bermanfaat ^-^.

2 komentar:

  1. Thank u sharingnya.

    BalasHapus
  2. maaf tapi gambar yang kamu bagikan sudah tidak tersedia lagi, bisa kah kamu memperbaikinya?

    BalasHapus