Minggu, 22 Februari 2009

Grafik 3 D dengan Matlab

Grafik 3 dimensi

Pada bagian ini akan dijelaskan cara menggambar grafik pada ruang tiga dimensi dengan menggunakan fungsi-fungsi built-in pada MATLAB. Ada empat macam fungsi MATLAB yang sering digunakan untuk menggabar grafik tiga dimensi ini, yaitu :

1. plot3

2. mesh

3. surf

4. contour

Untuk menjelaskan fungsi-fungsi tersebut, diperhatikan beberapa contoh berikut.

Contoh 1. Misalkan akan digambar kurva yang didefinisikan secara parametric berikut :

Tulis script file berikut

%script file graph4

%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);

title('Kurva r(t) = (t*cos(t),t*sin(t),t)')

xlabel('x')

ylabel('y')

zlabel('z')

grid

Hasilnya adalah sebagai berikut

PLOT3(x,y,z), di mana x, y and z are tiga vector dengan panjang sama menggambar lintasan garis dalam ruang 3-d yang melalui koordinat-koordinat x, y dan z. Sedangkan PLOT3(X,Y,Z), di mana X, Y dan Z are tiga matriks berukuran sama adalah memplot beberapa lintasan garis yang masing-masing melaui kolom-kolom matriks X, Y dan Z.

Sebelum dijelaskan fungsi mesh, terlebih dulu anda diperkenalkan dengan fungsi meshgrid. Diperhatikan ilustrasi berikut

> x=[0 1 2];

>> y=[10 12 14];

>> [X,Y]=meshgrid(x,y)

X =

0 1 2

0 1 2

0 1 2

Y =

10 10 10

12 12 12

14 14 14

Jadi perintah meshgrid diterapkan array x dan y yang menghasilkan dua matriks X yang baris-barisnya adalah array x, dan matriks Y yang kolom-kolomnya adalah array y. Tujuan dari perintah ini untuk membuat semua kemungkinan pasangan (xi,yi), xi x, yi y.

Contoh 2. Misalkan akan digambar grafik dari parabolaide hyperbolic

pada daerah ,

Perhatikan script file berikut,

%script file graph5

%grafik z=y^2-x^2 pada domain [-1,1]x[-1,1]

x=-1:0.05:1;

y=x;

[X,Y]=meshgrid(x,y);

Z=Y.^2-X.^2;

mesh(X,Y,Z)

Hasilnya seperti ditunjukkan oleh gambar berikut

Coba bandingkan bila pada m-file di atas, fungsi mesh diganti surf yang memberikan hasil seperti berikut

Sedangkan untuk melihat grafik 3-d beserta contournya digunakan fungsi meshc sebagai ganti mesh, hasilnya sebagai berikut:

Untuk lebih jelas mengenai contour atau level kurva, diperhatikan kembali m-file berikut.

%script file graph6

%grafik z=y^2-x^2 pada domain [-1,1]x[-1,1] dan contournya

x=-1:0.05:1;

y=x;

[X,Y]=meshgrid(x,y);

Z=Y.^2-X.^2;

contourf(Z)

hold on

colorbar

[c,h] =contour(Z,'k-');clabel(c,h)

title('LEVEL KURVA dari z=y^2-x^2.')

hold off

Hasilnya adalah sebagai berikut.

Kurva contour ini sangat berguna untuk mengetahui level kurva, yaitu mengidentifikasi titik-titik pada domain x-y yang mempunyai nilai sama. Sebagai contoh, pada garis x=y, x=-y, fungsi kita mempunyai nilai sama, yaitu z = 0.

Masih banyak sekali fungsi-fungsi menarik yang berkaitan dengan grafik 3-d ini, sehingga tidak mungkin terangkum semuanya pada tutorial singkat ini. Untuk lebih lengkapnya, silahkan lihat pada MATLAB help dengan mengetik

>>help graph3d

2 komentar:

  1. halo..yang disana..
    kalo mau buat grafik lebih dari 2 garis yang saling menyambung,
    pake grafik apa?
    trus itersinya gimana?

    BalasHapus
  2. bang numpang tanyak...
    tempat downloadnya dimana dan kapasitasnya berapa
    tolong pencerahanya...

    BalasHapus