Jumat, 29 Juni 2012

M.FILES

0 komentar
M.FILES

Secara normal, ketika diberikan instruksi satu garis, MATLAB akan langsung memprosesnya dan menampilkan hasilnya. MATLAB juga mampu memproses sebuah instruksi berurut yang dimasukkan ke dalam file dengan tingkatan m. File MATLAB dengan ekstensi m disebut m-file. Terakhir, mengenai file ASCII, yang dapat menciptakan editor teks atau word prosesor. Sebagai daftar file-m untuk pengalamatan arus dalam disk anda, anda dapat menggunakan instruksi MATLAB what. Instruksi MATLAB, type, dapat digunakan untuk menampilkan isi yang lebih spesifik dari  sebuah file. M-file dapat menjadi file naskah atau file fungsi, ataupun keduanya. File naskah dan file fungsi keduanya mengandung sebuah instruksi berurut. Tetapi, file fungsi sebatas argumentasi dan nilai balik saja.

File NASKAH

File naskah khusus digunakan untuk analisis dan masalah desain yang menghendaki instruksi MATLAB secara berurut dan terus menerus. Bila menulis menggunakan text editor atau word processor pada file naskah, file tersebut dapat dipanggil dengan memasukkan judul file yang bersangkutan pada m-file, tanpa ekstensi.keadaa dalam sebuah file naskah beroprasi secara global di dalam ruang kerja untuk data. Umumnya, ketika m-file sedang mengeksekusi, seluruh instruksi tidak akan tampil dilayar. Instruksi echo pada MATLAB dapat berfungsi untuk menampilkan seluruh m-file ketika seluruhnya sedang mengeksekusi. Sebagai ilustrasi penggunaan file naskah, yakni pada sebuah file naskah akan diisi dengan bilangan komplek sederhana yang dekspresikan dengan huruf z.

Contoh
Solusi
Program berikut menunjukkan file naskah yang digunakan untuk evaluasi  bilangan komplek, z, dan menunjukkan hasil kebentuk polaritas.
           
            %evaluasi z
            %memasukkan bilangan komplek
            Z1 = 3+4*j;
            Z2 = 5+2*j;
            theta = ()*pi; %sudut dalam radian
Z3 = 2*exp(j*theta);
Z4 = 3+6*j;
Z5 = 1+2*j;
%Z_rect adalah bilangan komplek Z dalam bentuk rectangular
disp(‘Z dalam bentuk rectangular adalah’); %menampilkan kalimat di dalam
tanda kurung
Z_rect = Z1* Z2* Z3/(Z4+Z5);
Z_rect
Z_mag = abs(Z_rect); %besaran scalar Z
Z_angle = angle(Z_rect)*(180/pi); %sudut dalam derajat
disp(bilangan komplek Z dalam bentuk polar, scalar, fase);
%menampilkan teks yang di dalam kurung
Z_polar = [Z_mag, Z_angle]
diary

Program di atas berjudul ex1_2.m. Didalamnya termasuk disk yang menyertai isi dari buku ini. Untuk mengeksekusikannya, ketik ex1_2 pada MATLAB command window. Adapun hasil yang didapatkan adalah:

            Z dengan bentuk rectangular:
                        Z_rect = 1.9108 + 5.7095i

            Bilangan komplek Z dengan bentuk polar (scalar dan fase):
                        Z_polar = 6.0208      71.4699

File fungsi

File fungsi adalah salah satu file yang terdapat pada m_file, yang berfungsi untuk menciptakan fungsi-fungsi baru atau laen pada MATLAB. Terdapat dua fungsi local di dalamnya yaitu, fungsi batas dan manipulasi variable. kedua fungsi tersebut harus berupa argument agar dapat leluasa masuk-keluar pada file fungsi.
Adapun bentuk umum dari sebuah file fungsi adalah:
           
            Varibel fungsi(s) = fungsi_nama (argumen)
            %merupakan teks Bantu dalam penggunaan file fungsi.
            %
            .
            .
            End

Untuk mengilustrasikannya penggunaan dari file fungsi dan tata cara untuk penulisan m-file fungsi, mari kita belajar melalui dua contoh berikut:
Contoh 1.3
Buatlah sebuah file fungsi untuk memecahakan persamaan resistansi yang dihubungkan secara seri, yakni R1, R2, R3…., Rn!!!

Solusi ex1.3
            Skrip pada MATLAB
                        Function req = equiv_sr(r)
            %equiv_sr = sebuah program fungsi untuk menampilkan hasil yang
dicapai
%               = persamaan resistansi yang di seri
%               = hubungan antarresistor
%guna: req = eqiv_sr(r)
%         r = sebuah input dalm bentuk vector sepanjang n
%         req = output, persamaan resistansi dalam bentuk scalar
%
n = panjang (r); % nilai resistor
req = jumlah (r); %jumlah total resistor
end                     %akhir program

Skrip MATLAB di atas dapat ditemukan pada file fungsi yang berjudul equiv_sr.m, untuk mengeksekusikn program tersebut.

Misalnya, kita ingin menuliskan sebuah rangkaian seri dari resistor yang memiliki nilai 10, 20, 15, 16, dan 5 ohm. Maka kita dapat menuliskan ke dalam MATLAB sebagai berikut:
                        a = [10   20   15  16   5];
                        Rsesies = equiv_sr(a)
diary

            Hasil akhir yang dicapai pada MATLAB adalah:
                        Rseries = 66

Contoh 1.4
Buatlah sebuah fungsi MATLAB untuk menghasilkan akar kuadrat pada persamaan
ax2 + bx +c = 0

Solusi 1.4
            Skrip MATLAB
                        Fungsi rt = rt_quad(coef)
                        %
                        %rt_quad = fungsi untuk menghasilkan akar dari sebuah persamaan
        kuadrat
                        %kegunaan: rt = rt_quad(coef)
                        %                 coef = koefisien a,b,c dari persamaan kuadrat
                        %                 persamaan ax*x + bx + c = 0
                        %                 rt = akar
                        % koefisien a, b, c, dhasilkan dari koefisien vector
                        a =coef(1); b = coef(2); c = coef (3);
                        int = b^2 – 4*a*c;
                        if int > 0
                            srint = sqrt(int);
                            x1 = (-b + srint)/(2*a);
                            x2 = (-b - srint)/(2*a);

                        elseif int = 0
                            x1 = -b/ (2*a);
                            x2 = x1;
                        elseif int < 0
                            srint = sqrt(-int);
                            p1 = -b / (2*a);
                            p2 = srint / (2*a);
                            x1 = p1 + p2*j;
                            x1 = p1 – p2*j;
                        end
                        rt = [x1;
                                x2];
                        end

Skrip MATLAB di atas dapat ditemukan pada file fungsi yang telah tersimpan dengan judul rt_quad.m, sehingga memudahkan untuk pengeksekusian program tersebut.

Kita dapat memanfaatkan file fungsi rt_quad, untuk menemukan akar-akar dari suatu persamaan kuadrat berikut:
1.      x2 +3x +2 = 0
2.      x2 +2x +1 = 0
3.      x2 -2x +3 = 0
Ketiga persamaan di atas dapat ditemuklan pada m-file ex1_4.m, yang merupakan program untuk mencapai hasil akhirdalam bentuk akar:
                        diary ex1_4.dat
                        ca = [1 3 2];
      ra = rt_quad(ca)
      cb = [1 2 1];
      rb = rt_quad(cb)
      cc = [1 -2 3];
      rc = rt_quad(cc)
      diary

Ketiklah ex1_4 dan hasil akhir yang dicapai, ke dalam  MATLAB command window. Hingga akan ditampilkan hasil akhir berikut:
                        ra =
                                    -1
                                    -2
                        rb =
                                    -1
                                    -1
                        rc =
1.0000 + 1.4142j
1.0000 – 1.4142j

Berikut ini merupakan ringkasan mengenai aturan dalam menulis m-files fungsi dalam MATLAB:
1.      Kata, fungsi, menunjukkan sebagai kata pertama dalam sebuah file fungsi. Yang diikuti oleh sebuah output dalam bentuk argument, tanda sama dengan (=) dan judul fungsi tersebut. Argumen dari fungsi tersebut mengikuti judul fungsi dan yang di dalamnya berisi sisipan.
2.      Informasi yang mengikuti fungsi, diawali dengan tanda %, yang menunjukkan bagaimana fungsi tersebut digunakan dan argument apa saja yang dapat diizinkan untuk lewat pada file fungsi. Info ini ditampilkan jika diminta bantuan untuk judul dari fungsi yang dimaksud.
3.      MATLAB dapat menerima input dann output argument secara berulang kali.
4.      Jika sebuah fungsi akan digunakan lebih dari sekali, maka jumlah keseluruhan penggunaan menjadi sebuah vector dalam fungsi. Contohnya,
fungsi[rata-rata, simpangan] = data_in(x)
akan berulang untuk penggunaan fungsi yang menunjukkan nilai rata-rata    
dan simpangan dalam bentuk vector x. Rata-rata dan simpangan dihitung dengan menggunakan fungsi.
5.      jika sebuah fungsi memiliki lebih dari satu argument input, maka keadaan fungsi menunjukkan daftar yang berisi input argument yang dimaksud. Contohnya
fungsi [rata-rata, simpangan] = data (x,n)
                        akan menampilkan nilai rata-rata dan nilai simpangan berkali-kali sebuah
vector sebanyak n.
6.      Setiap mengakhiri program dalam bentuk file fungsi harus disertai dengan “end”. 

Leave a Reply