"memeluk erat mimpi-mimpi"

Membuat Grafik atau Plot 3 Dimensi di MATLAB

Bismillah

Seringkali dalam tugas-tugas kuliah atau penulisan artikel ilmiah kita dihadapkan pada pembuatan grafik atau plot 3 Dimensi dari suatu data atau dari suatu fungsi, dalam tulisan ini saya penulis mencoba untuk memberikan sedikit contoh untuk pembuatan grafik atau plot 3 dimensi pada program MATLAB. Untuk yang belum familiar dengan program MATLAB mungkin perlu berlatih dan mengetahui perintah-perintah dasar dalam MATLAB. Dalam tulisan ini saya menggunakan MATLAB 7.11.0 (R2010b).

Plot 3 Dimensi dari suatu data

Sebenarnya menu Help di MATLAB sudah cukup memadai untuk mengetahui bagaimana untuk membuat grafik 3 dimensi, namun terlebih dahulu kita harus mengetahui fungsi apa yang akan digunakan untuk mempermudah mendapatkan apa yang kita cari. Disini saya menggunakan function scatter3(X,Y,Z).dimana X,Y,Z  merupakan vektor yang memiliki ukuran yang sama.

Misal ada suatu data buatan a1, a2 dan a3:

A = 255.*rand(25,3);  %data random yang saya buat (25 Baris dan 3 kolom data)
a1  = A(:,1);
a2  = A(:,2);
a3  = A(:,3);
scatter3(a1,a2,a3,'r*')
title('\itplot scatter 3D dari data buatan')
xlabel('nilai a1')
ylabel('nilai a2')
zlabel('nilai a3')


maka akan dihasilkan:


bagaimana jika datanya sudah ada?, jika anda sudah memiliki data yang akan digunakan, saya sarankan dibuat di microsoft excel kemudian dibuat 3 kolom, masing-masing kolom mewakili data x, y dan z. kemudian data tersebut dapat anda masukkan ke MATLAB, yaitu pada main menu MATLAB “File >import data” atau dapat juga pada windows workspace terdapat icon import data.

import data dari menu file

import data from workspace

data yang telah anda impor ke dalam MATLAB memiliki nama variabel ‘data’ .maka kode program MATLAB-nya tidak jauh berbeda dengan yang sebelumnya:

a1  = data(:,1);
a2  = data(:,2);
a3  = data(:,3);
scatter3(a1,a2,a3,'r*')
title('\itplot scatter 3D dari suatu data')
xlabel('nilai a1')
ylabel('nilai a2')
zlabel('nilai a3')

Plot 3 Dimensi dari suatu Fungsi

Kali ini digunakan function Surf,Mesh, dan Meshgrid. Saya misalkan fungsi yang akan diplot yaitu:

Kita akan memplot untuk daerah X = -5 hingga 5 dan Y = -4 hingga 4.

  • untuk yang pertama kita gunakan function mesh:
[x,y] = meshgrid(-5:.5:5,-4:.5:4);
z = x.*exp(-x.^2-y.^2);
mesh(x,y,z)
colormap hsv
title('\itf(x,y) = ex^{-x^2-y^2}')
xlabel('X')
ylabel('Y')
zlabel('Z')

maka akan dihasilkan:

  • yang kedua menggunakan function surf:
[x,y] = meshgrid(-5:.5:5,-4:.5:4);
z = x.*exp(-x.^2-y.^2);
surf(x,y,z)
colormap hsv
title('\itf(x,y) = ex^{-x^2-y^2}')
xlabel('X')
ylabel('Y')
zlabel('Z')

maka akan dihasilkan:

Penggunaan function meshgrid menjadikan X disesuaikan dengan  Y,  atau bahasa yang kerennya ditransformasikan, contoh:

[X,Y] = meshgrid(1:3,10:14)

X =

1     2     3
1     2     3
1     2     3
1     2     3
1     2     3

Y =

10    10    10
11    11    11
12    12    12
13    13    13
14    14    14

Dapat dilihat X memiliki kolom sesuai interval  X (1:3) atau 3 kolom tapi dengan baris sesuai interval Y(10:14) atau 5 baris, dan Y memiliki kolom jumlah interval X dan baris jumlah interval Y. nilai X sama ditiap kolomnya, dan meningkat intervalnya perbarisnya, sedang nilai Y sama ditiap baris, dan meningkat intervalnya perkolom.

semoga dapat bermanfaat
[Aditya Irawan]

Tambun:  malam hari 23 juni 2011: selesai 24 juni 2011

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 77 other followers