Modul 7 Matlab 2

download Modul 7 Matlab 2

of 55

Transcript of Modul 7 Matlab 2

42023Daftar !si Daftar !si1. 1. Strategi Penulisan Program Strategi Penulisan Program2. 2. Script dan N Script dan NFile File3. 3. Nembuat N Nembuat NFile File4. 4. Nemanggil N Nemanggil NFile FileS. S. Simulasi dengan N Simulasi dengan NFile File6. 6. Prioritas Pengerjaan di NATLAB Prioritas Pengerjaan di NATLAB7. 7. Echo On dan Echo Off Echo On dan Echo Off8. 8. Kegunaan Komentar dalam N Kegunaan Komentar dalam NFile File3. 3. Fungsi Fungsifungsi yang Berguna pada N fungsi yang Berguna pada NFile File10. 10. Contoh Penggunaan Fungsi Contoh Penggunaan Fungsi11. 11. Perintah !nput Perintah !nput12. 12. Fungsi !nput dan Fungsi Lain Fungsi !nput dan Fungsi Lain13. 13. Efek Perintah Echo pada N Efek Perintah Echo pada NFile File4Strategi Penulisan Program Strategi Penulisan Program>> ]ika masalah yang dihadapi sederhana, mengetikkan beberapa]ika masalah yang dihadapi sederhana, mengetikkan beberapa perintah langsung di jendela Command memang cukup cepatperintah langsung di jendela Command memang cukup cepat dan efektif dan efektif>> ]ika]ika jumlah perintahnya sangat banyak, ataujumlah perintahnya sangat banyak, atau ingin mengubah nilai beberapa variabel dan kemudian mengulangingin mengubah nilai beberapa variabel dan kemudian mengulang kembali perhitungannya,kembali perhitungannya, cara di atas membosankan cara di atas membosankan>> Ada sarana untukAda sarana untuk mengetikkan deretan perintah dalam suatu teks filemengetikkan deretan perintah dalam suatu teks file kemudian memerintahkan NATLAB untuk membuka file tersebutkemudian memerintahkan NATLAB untuk membuka file tersebut menjalankannya seolah menjalankannya seolaholah diketikkan langsung di jendela Command olah diketikkan langsung di jendela Command>> File seperti itu dinamakan fileFile seperti itu dinamakan file script script atauatau NNfile file

Script dan N Script dan NFile File>>Kata script" berarti bahwa NATLAB hanyaKata script" berarti bahwa NATLAB hanya membaca dari script" yang ditemukan dalammembaca dari script" yang ditemukan dalam file file>>Kata N Kata Nfile" berasal dari aturan bahwa namafile" berasal dari aturan bahwa nama file script harus diakhiri dengan ekstensi '.m',file script harus diakhiri dengan ekstensi '.m', misalnyamisalnya contoh1.m contoh1.m

Nembuat N Nembuat NFile File>>PilihPilih New New dari menudari menu File File dan pilihdan pilih NNfile file>>Cara lain: klik ikonCara lain: klik ikon New N New Nfile file pada toolbar pada toolbar>>Suatu jendela editor teks ditampilkan Suatu jendela editor teks ditampilkan

Nemanggil N Nemanggil NFile File>>Untuk memanggil N Untuk memanggil Nfile yang sudah dibuat, tinggalfile yang sudah dibuat, tinggal ketikkan nama N ketikkan nama Nfile itu di jendela Commad, makafile itu di jendela Commad, maka NATLAB akan mengeksekusi semua perhitungan yangNATLAB akan mengeksekusi semua perhitungan yang sudah ditulis di N sudah ditulis di Nfile file>>Eksekusi ( Eksekusi (running running) juga bisa dilakukan dengan) juga bisa dilakukan dengan mengklik ikon (Run) pada toolbar mengklik ikon (Run) pada toolbar>> asamn =

Simulasi dengan N Simulasi dengan NFile File>>Dengan N Dengan Nfile kita bisa melakukan simulasi suatufile kita bisa melakukan simulasi suatu perhitungan perhitungan>>]ika suatu variabel diubah harganya, apa yang terjadi? ]ika suatu variabel diubah harganya, apa yang terjadi?>>Dengan melakukan eksekusi, jawaban atas pertanyaanDengan melakukan eksekusi, jawaban atas pertanyaan tersebut akan terjawab langsung tersebut akan terjawab langsung>>Dengan N Dengan Nfile, perintah file, perintahperintah akan disimpan dalamperintah akan disimpan dalam disk untuk sesi NATLAB berikutnya disk untuk sesi NATLAB berikutnya

Prioritas Pengerjaan di NATLAB Prioritas Pengerjaan di NATLAB>> NATLAB memprioritaskan variabel NATLAB memprioritaskan variabelvariabel aktif dan perintah variabel aktif dan perintahperintah NATLAB standar sebelum nama N perintah NATLAB standar sebelum nama Nfile file>> ]ika]ika asam asam bukan nama suatu variabel aktif atau suatu perintahbukan nama suatu variabel aktif atau suatu perintah standar NATLAB, NATLAB membuka filestandar NATLAB, NATLAB membuka file asam.m asam.m (jika ada) dan(jika ada) dan mengerjakan perintah mengerjakan perintahperintah yang ditemukan dalam fileperintah yang ditemukan dalam file tersebut tersebut>> Perintah Perintahperintah yang ada di N perintah yang ada di Nfile dapat mengakses semuafile dapat mengakses semua variabel yang ada di ruang kerja NATLAB dan semua variabelvariabel yang ada di ruang kerja NATLAB dan semua variabel yang dibuat oleh perintah dalam N yang dibuat oleh perintah dalam Nfile menjadi bagian darifile menjadi bagian dari ruang kerja NATLAB ruang kerja NATLAB>> Biasanya perintah yang dibaca dari N Biasanya perintah yang dibaca dari Nfile tidak ditampilkan jikafile tidak ditampilkan jika sedang dievaluasi sedang dievaluasi

Echo On dan Echo Off Echo On dan Echo Off>>PerintahPerintah echo on echo on membuat perintah membuat perintahperintahperintah yang ditemui dalam N yang ditemui dalam Nfile ditampilkan lagi saatfile ditampilkan lagi saat dikerjakan dikerjakan>>Sebaliknya jika ada perintahSebaliknya jika ada perintah echo off echo off

Kegunaan Komentar dalam N Kegunaan Komentar dalam NFile File>>Kegunaan komentar menjadi jelas dalam penggunaanKegunaan komentar menjadi jelas dalam penggunaan NNfile file>>Komentar memungkinkan kita untukKomentar memungkinkan kita untuk mendokumentasikan perintah mendokumentasikan perintahperintah yang terdapatperintah yang terdapat dalam script sehingga dapat mengingat yangdalam script sehingga dapat mengingat yang dikerjakan perintah dikerjakan perintahperintah tersebut jika pada suatuperintah tersebut jika pada suatu saat membuka kembali script tersebut saat membuka kembali script tersebut>>Penggunaan titik koma pada akhir perintah mengaturPenggunaan titik koma pada akhir perintah mengatur penampilan dari hasil suatu perintah sehingga hasil penampilan dari hasil suatu perintah sehingga hasilhasil yang penting yang ditampilkan hasil yang penting yang ditampilkan2Fungsi Fungsifungsi yang Berguna pada N fungsi yang Berguna pada NFile Filedisp(ans) disp(ans) Nenampilkan hasil tanpa menampilkan nama variabel Nenampilkan hasil tanpa menampilkan nama variabelecho echo Nengatur jendela command dalam penampilanNengatur jendela command dalam penampilan kembali perintah yang sedang dikerjakan kembali perintah yang sedang dikerjakaninput input Neminta pemakai untuk memberikan input Neminta pemakai untuk memberikan inputkeyboard keyboard Nemberikan kontrol pada keyboard sementara waktu.Nemberikan kontrol pada keyboard sementara waktu. KetikkanKetikkan Enter Enter untuk kembali untuk kembalipause pause Berhenti sampai pemakai menekan kembaliBerhenti sampai pemakai menekan kembali sembarang tombol sembarang tombolpause(n) pause(n) Berhenti selama n detik Berhenti selama n detikwaitforbuttonpress waitforbuttonpress Berhenti sampai ada penekanan tombol mouse atauBerhenti sampai ada penekanan tombol mouse atau tombol keyboard tombol keyboard3Contoh Penggunaan Fungsi Contoh Penggunaan Fungsi>> kons_awal % cara biasa untuk menampilkan hasilkons_awal =

>> disp(kons_awal) % menampilkan hasil tanpa menampilkan nama variabel

4Perintah !nput Perintah !nput% contohm script file untuk masalah konsentrasi asamKons_awal= Kons_min= lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/n=floor(log(Kons_awal/Kons_min)/log(lost))Kalau M-file ini dijalankan, maka hasilnya:Masukkan konsentrasi asam yang hilang setiap pencelupan = lost =

n =

Fungsi !nput dan Fungsi Lain Fungsi !nput dan Fungsi Lain>> contohMasukkan konsentrasi asam yang hilang setiap pencelupan = round(sqrt(3))3lost =

n =

Efek Perintah Echo pada N Efek Perintah Echo pada NFile Fileecho on% contohm script file untuk masalah konsentrasi asamKons_awal= Kons_min= lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/n=floor(log(Kons_awal/Kons_min)/log(lost))echo off>> contohb% contohm script file untuk masalah konsentrasi asamKons_awal= Kons_min= lost=input('Masukkan konsentrasi asam yang hilang setiap pencelupan = ')/Masukkan konsentrasi asam yang hilang setiap pencelupan = 2lost =2n=floor(log(Kons_awal/Kons_min)/log(lost))n =2echo off

Daftar !si Daftar !si1. 1. Fungsi Sistem File Fungsi Sistem File2. 2. Contoh Fungsi Sistem File Contoh Fungsi Sistem File3. 3. Alamat Pencarian NATLAB Alamat Pencarian NATLAB4. 4. NATLAB dalam Kondisi Awal NATLAB dalam Kondisi Awal

Fungsi Sistem File Fungsi Sistem File>>NATLAB menyediakan sejumlah fungsi sistem file danNATLAB menyediakan sejumlah fungsi sistem file dan perintah perintahperintah yang memungkinkan:perintah yang memungkinkan: Nenampilkan daftar nama file Nenampilkan daftar nama file Nenghapus dan melihat isi N Nenghapus dan melihat isi Nfile file Nelihat atau mengubah direktori atau folder aktif Nelihat atau mengubah direktori atau folder aktif>>Dapat juga melihat dan memodifikasi Alamat PencarianDapat juga melihat dan memodifikasi Alamat Pencarian NATLAB yang dinamakanNATLAB yang dinamakan matlabpath matlabpath>>Fungsi Fungsifungsi NATLAB sesungguhnya adalah N fungsi NATLAB sesungguhnya adalah Nfilefile yang tersimpan dalam disk yang tersimpan dalam disk>>]ika yakin keberadaan suatu fungsi namun NATLAB]ika yakin keberadaan suatu fungsi namun NATLAB tidak menemukannya, kemungkinan besar fungsitidak menemukannya, kemungkinan besar fungsi tersebut tidak berada di matlabpath tersebut tidak berada di matlabpath2Contoh Fungsi Sistem File Contoh Fungsi Sistem FileAddpath dir1 Addpath dir1 Nenambahkan direktori dir1 pada awal matlabpath Nenambahkan direktori dir1 pada awal matlabpathcd cd Nenampilkan direktori atau folder aktif saat ini Nenampilkan direktori atau folder aktif saat iniP=cd P=cd Nenyimpan data direktori atau folder aktif dalamNenyimpan data direktori atau folder aktif dalam variabel P variabel Pcd path cd path Nengubah direktori atau folder ke direktori atau folderNengubah direktori atau folder ke direktori atau folder yang diberikan oleh path yang diberikan oleh pathdelete test.m delete test.m Nenghapus N Nenghapus Nfile bernama test.m file bernama test.mexist('cow', 'file') exist('cow', 'file') Nengecek ada atau tidaknya file 'cow.m' padaNengecek ada atau tidaknya file 'cow.m' pada matlabpath matlabpathls ls Sama dengan dir Sama dengan dirtempdir tempdir Nama direktori sementara Nama direktori sementara2Alamat Pencarian NATLAB Alamat Pencarian NATLAB>>Umumnya jika mengetikkan >>cow, inilah yangUmumnya jika mengetikkan >>cow, inilah yang dikerjakan oleh NATLAB: dikerjakan oleh NATLAB: Nengecek apakah cow suatu variabel dalam ruang kerjaNengecek apakah cow suatu variabel dalam ruang kerja NATLAB, jika tidak. NATLAB, jika tidak. Nengecek apakah cow suatu fungsi standar NATLAB, jikaNengecek apakah cow suatu fungsi standar NATLAB, jika tidak... tidak... Nengecek apakah suatu N Nengecek apakah suatu Nfile yang bernama cow.m adafile yang bernama cow.m ada dalam direktori yang sedang aktif, jika tidak. dalam direktori yang sedang aktif, jika tidak. Nengecek apakah cow,m ada di suatu tempat dalam alamatNengecek apakah cow,m ada di suatu tempat dalam alamat pencarian NATLAB, dengan mencari pada path sesuai urutanpencarian NATLAB, dengan mencari pada path sesuai urutan yang ada yang ada22NATLAB Dalam Kondisi Awal NATLAB Dalam Kondisi Awal>>Saat NATLAB mulai dijalankan, NATLAB mengeksekusiSaat NATLAB mulai dijalankan, NATLAB mengeksekusi dua file script, matlabrc.m dan startup.m dua file script, matlabrc.m dan startup.m>>FileFile matlabrc.m matlabrc.m dibuat sendiri oleh NATLAB dandibuat sendiri oleh NATLAB dan sebaiknya jangan dimodifikasi sebaiknya jangan dimodifikasi>>Perintah Perintahperintah dalam N perintah dalam Nfile ini mengatur ukuranfile ini mengatur ukuran window, penempatannya, dan sejumlah fasilitaswindow, penempatannya, dan sejumlah fasilitas lainnya lainnya>>FileFile startup.m startup.m biasanya berisi perintah biasanya berisi perintahperintah untukperintah untuk menambahkan berbagai fasilitas yang dirancangmenambahkan berbagai fasilitas yang dirancang sendiri oleh pemakai sendiri oleh pemakai2324Daftar !si Daftar !si1. 1. Pendahuluan Pendahuluan2. 2. Array Sederhana Array Sederhana3. 3. Berbagai Cara Penulisan Berbagai Cara Penulisan4. 4. Pengalamatan Array Pengalamatan ArrayS. S. Orientasi Array Orientasi Array6. 6. Natematika Array Natematika ArraySkalar Skalar7. 7. Natematika Array Natematika ArrayArray Array8. 8. Array dengan Elemen Bilangan Satu atau Bilangan Nol Array dengan Elemen Bilangan Satu atau Bilangan Nol3. 3. Nemanipulasi Array Nemanipulasi Array10. 10. Pencarian Sub Pencarian SubArray Array11. 11. Pembandingan Array Pembandingan Array12. 12. Ukuran Array Ukuran Array13. 13. Array Nultidimensi Array Nultidimensi14. 14. Contoh 1: Peluruhan Radioaktif Nenggunakan Array Contoh 1: Peluruhan Radioaktif Nenggunakan Array1S. 1S. Contoh 2: Perhitungan Konsentrasi dengan Natematika Array Contoh 2: Perhitungan Konsentrasi dengan Natematika Array16. 16. Contoh 3: Nencari Suatu Penyelesaian Nenggunakan vektor Contoh 3: Nencari Suatu Penyelesaian Nenggunakan vektor2Pendahuluan Pendahuluan>>Semua komputasi yang dikerjakan sejauh ini hanyaSemua komputasi yang dikerjakan sejauh ini hanya melibatkan bilangan tunggal yang disebutmelibatkan bilangan tunggal yang disebut skalar skalar>>Operasi skalar merupakan dasar matematika Operasi skalar merupakan dasar matematika>>]ika ingin melakukan operasi yang sama pada]ika ingin melakukan operasi yang sama pada beberapa bilangan, perulangan operasi skalar akanbeberapa bilangan, perulangan operasi skalar akan menghabiskan waktu dan tidak praktis menghabiskan waktu dan tidak praktis>>Untuk mengatasi masalah ini NATLAB menyediakanUntuk mengatasi masalah ini NATLAB menyediakan operasioperasi array (larik) array (larik) data data2Array Sederhana Array Sederhana>>Y = sin(x), 0 x Y = sin(x), 0 x 66>>arus dibuat x secara inkremental, misalarus dibuat x secara inkremental, misal dengan kenaikan 0.1 dengan kenaikan 0.166:: x = 0, 0.1 x = 0, 0.166, 0.2 , 0.266,, ,, 66>>Dengan NATLAB: Dengan NATLAB:x=|0 0.1*pi .2*pi .3*pi .4*pi .S*pi .6*pi .7*pi .8*pi .3*pi pi] x=|0 0.1*pi .2*pi .3*pi .4*pi .S*pi .6*pi .7*pi .8*pi .3*pi pi]y = sin(x) y = sin(x)2Pembentukan Array Pembentukan Arrayx=|2 2*pi sqrt(2) 2 x=|2 2*pi sqrt(2) 23] 3] menciptakan vektor baris x yang memuat menciptakan vektor baris x yang memuatelemenelemen elemen yang diberikanelemen yang diberikan x=awal: akhirx=awal: akhirmembuat vektor baris x dimulai dari awal, membuat vektor baris x dimulai dari awal,kenaikan satu diakhiri pada atau sebelum akhirkenaikan satu diakhiri pada atau sebelum akhir x=awal:kenaikan:akhir x=awal:kenaikan:akhir membuat vektor baris x diawali dengan awal membuat vektor baris x diawali dengan awalkenaikan sebesar kenaikan diakhiri pada atau kenaikan sebesar kenaikan diakhiri pada atausebelum akhirsebelum akhir x=linspace(awal,akhir,n)x=linspace(awal,akhir,n)menciptakan vektor baris x diawali dengan awal, menciptakan vektor baris x diawali dengan awal,berakhir dengan akhir mempunyai n elemenberakhir dengan akhir mempunyai n elemen x=logspace(awal,akhir,n) x=logspace(awal,akhir,n) menciptakan vektor kolom dengan elemen elemen menciptakan vektor kolom dengan elemen elemenberjarak logaritmis dimulai dengan 10 diakhiri berjarak logaritmis dimulai dengan 10 diakhiridengan 10 mempunyai n elemen dengan 10 mempunyai n elemen2Berbagai Cara Penulisan Berbagai Cara Penulisan>> x=|0 0.1*pi .2*pi .3*pi .4*pi .S*pi .6*pi .7*pi .8*pi .3*pi pi] x=|0 0.1*pi .2*pi .3*pi .4*pi .S*pi .6*pi .7*pi .8*pi .3*pi pi]>> x=|0 0.1 .2 .3 .4 .S .6 .7 .8 .3 1]*pi x=|0 0.1 .2 .3 .4 .S .6 .7 .8 .3 1]*pi>> x=|0:0.1:1]*pi x=|0:0.1:1]*pi>> x=linspace(0,1,11)*pi x=linspace(0,1,11)*pi2Pengalamatan Array Pengalamatan Array>>x( x(1,6 1,6) = ? ) = ? 1.S708 1.S708>> sin(x(1,6)) >> sin(x(1,6))ans = ans =11>> sin(x(1,3)) >> sin(x(1,3))ans = ans =0.S878 0.S8783Orientasi Array Orientasi Array>> x2=x' %transpose dari x >> x2=x' %transpose dari xx2 = x2 =000.3142 0.31420.6283 0.62830.342S 0.342S1.2S66 1.2S661.S708 1.S7081.88S0 1.88S02.1331 2.13312.S133 2.S1332.8274 2.82743.1416 3.1416>> y=sin(x2) >> y=sin(x2)y = y =000.3030 0.30300.S878 0.S8780.8030 0.80300.3S11 0.3S111.0000 1.00000.3S11 0.3S110.8030 0.80300.S878 0.S8780.3030 0.30300.0000 0.00003Operator Titik Transpose Operator Titik Transpose>>Sebagai tambahan, pada NATLAB disediakan operatorSebagai tambahan, pada NATLAB disediakan operator titik transpose dengan diawali titik titik transpose dengan diawali titik.. >>Operator titik transpse Operator titik transpse ini diinterprestasikanini diinterprestasikan sebagai transpose konjugasi non sebagai transpose konjugasi nonkompleks.kompleks. >>]ika suatu array merupakan array kompleks, transpose]ika suatu array merupakan array kompleks, transpose (') memberikan transpose konjugasi kompleks, yaitu(') memberikan transpose konjugasi kompleks, yaitu tanda dari bagian imajiner yang berubah sebagaitanda dari bagian imajiner yang berubah sebagai akibat operasi transpose.akibat operasi transpose. >>Tetapi titik transpose melakukan transpose pada arrayTetapi titik transpose melakukan transpose pada array namun tidak melakukan konjugat pada dirinya. namun tidak melakukan konjugat pada dirinya.32Contoh Operasi Titik Transpose Contoh Operasi Titik Transpose>> A=|3 2i 3,1 2 i,4i 1 1] >> A=|3 2i 3,1 2 i,4i 1 1]A = A =3.00000 + 2.0000i 3.0000 3.00000 + 2.0000i 3.00001.0000 2.00000 + 1.0000i 1.0000 2.00000 + 1.0000i0 + 4.0000i 1.0000 1.0000 0 + 4.0000i 1.0000 1.0000>> B=A' >> B=A'B = B =3.0000 1.000003.0000 1.00000 4.0000i 4.0000i00 2.0000i 2.0000 1.0000 2.0000i 2.0000 1.00003.000003.00000 1.0000i 1.0000 1.0000i 1.0000>> C=A >> C=A.' .'C = C =3.0000 1.000003.0000 1.00000 + + 4.0000i 4.0000i00 + + 2.0000i 2.0000 1.0000 2.0000i 2.0000 1.00003.00000 3.00000 + + 1.0000i 1.0000 1.0000i 1.000033Natematika Array Natematika ArraySkalar Skalar>> m1=|1 2 3 4 S,6 7 8 3 10] >> m1=|1 2 3 4 S,6 7 8 3 10]m1 = m1 =1 2 3 4 S 1 2 3 4 S6 7 8 310 6 7 8 310>> m2=|11 12 13 14 1S,16 17 18 13 20] >> m2=|11 12 13 14 1S,16 17 18 13 20]m2 = m2 =111213141S 111213141S1617181320 1617181320>> m3=m1*3 >> m3=m1*344m3 = m3 =1 2 S 811 1 2 S 8111417202326 141720232634Natematika Array Natematika ArrayArray (1) Array (1)>>]ika operasi array dilakukan pada dimensi yang]ika operasi array dilakukan pada dimensi yang tidak sama susah untuk didefenisikan. tidak sama susah untuk didefenisikan.>>]ika dua vektor mempunyai dimensi yang sama,]ika dua vektor mempunyai dimensi yang sama, penambahan, pengurangan, perkalian, danpenambahan, pengurangan, perkalian, dan pembagian berlaku pada elemen ke elemen. pembagian berlaku pada elemen ke elemen.>>Perkalian bisa menggunakan *, pembagianPerkalian bisa menggunakan *, pembagian menggunakan garis miring kiri atau kanan,menggunakan garis miring kiri atau kanan, pemangkatan array dengan simbol pemangkatan array dengan simbol 3Natematika Array Natematika ArrayArray (2) Array (2)Data ilustrasi : a=|a1 a2 .an], b=|b1 b2 ..bn], c=Data ilustrasi : a=|a1 a2 .an], b=|b1 b2 ..bn], c= Penambahan skalarPenambahan skalara+c=|a1+ca2+c . an+c]a+c=|a1+ca2+c . an+c] Perkalian skalarPerkalian skalara*c=|a1*c a2*c . an*c]a*c=|a1*c a2*c . an*c] Penambahan arrayPenambahan arraya+b=|a1+b1a2+b2.an+bn]a+b=|a1+b1a2+b2.an+bn] Perkalian arrayPerkalian arraya.*b=|a1*b1a2*b2.an*bn]a.*b=|a1*b1a2*b2.an*bn] Pembagian kanan arrayPembagian kanan arraya./b=|a1/b1a2/b2.an/bn]a./b=|a1/b1a2/b2.an/bn] Pembagian kiri arrayPembagian kiri arraya. a.\\b=|a1 b=|a1\\b1a2 b1a2\\b2.an b2.an\\bn]bn] Pemangkatan arrayPemangkatan arrayc.a=|ca1ca2.can] c.a=|ca1ca2.can]a.c=|a1ca2c.anc] a.c=|a1ca2c.anc]a.b=|a1b1a2b2.anbn]a.b=|a1b1a2b2.anbn] 3Natematika Array Natematika ArrayArray (3) Array (3)>> mS=m1*m2 >> mS=m1*m2??? Error using ==> * ??? Error using ==> *!nner matrix dimensions must agree. !nner matrix dimensions must agree.>> mS=m1.*m2 >> mS=m1.*m2mS = mS =112433S67S 112433S67S36 113 144 171 200 36 113 144 171 200>> mS=m1./m2 >> mS=m1./m2mS = mS =0.03030.16670.23080.28S70.3333 0.03030.16670.23080.28S70.33330.37S00.41180.44440.47370.S000 0.37S00.41180.44440.47370.S0003Array dengan Elemen Bilangan SatuArray dengan Elemen Bilangan Satu atau Bilangan Nol atau Bilangan Nol>> ones(S) >> ones(S)ans = ans =1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1>> ones(2,S) >> ones(2,S)ans = ans =1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1>> zeros(3,4) >> zeros(3,4)ans = ans =0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 03Nemanipulasi Array (1) Nemanipulasi Array (1)>> NATLAB menyediakan cara mudah untuk menyisipkan,NATLAB menyediakan cara mudah untuk menyisipkan, mengambil dan mengatur kembali sebagian dari matriks denganmengambil dan mengatur kembali sebagian dari matriks dengan mendefenisikan subscript yang berkaitan. mendefenisikan subscript yang berkaitan.>> Saat mengakses sesuatu menjadi matriks kosong |], sesuatu ituSaat mengakses sesuatu menjadi matriks kosong |], sesuatu itu akan terhapus, mengakibatkan matriks berkurang menjadi apaakan terhapus, mengakibatkan matriks berkurang menjadi apa yang tertinggal. yang tertinggal.>> Penggunaan indeks tungggal pada matriks lebih mudah.Penggunaan indeks tungggal pada matriks lebih mudah. >> ]ika indeks tunggal digunakan, indeks dihitung setiap kolom ke]ika indeks tunggal digunakan, indeks dihitung setiap kolom ke bawah dimulai dengan kolom pertama. bawah dimulai dengan kolom pertama.>> Selain menggunakan subcript untuk mengamati matriks, dapatSelain menggunakan subcript untuk mengamati matriks, dapat juga digunakan array logika, jika ukuran array logika samajuga digunakan array logika, jika ukuran array logika sama dengan yang di amati.dengan yang di amati. >> Array logika adalah suatu array khusus dengan presisi gandaArray logika adalah suatu array khusus dengan presisi ganda dalam NATLAB dalam NATLAB3Nemanipulasi Array (2) Nemanipulasi Array (2)A(r,c) A(r,c) mengamatai subarray dalam A dengan indeks baris yang diinginimengamatai subarray dalam A dengan indeks baris yang diingini dalam r dan kolom yang diingini dalam cdalam r dan kolom yang diingini dalam c A(r,:)A(r,:)mengamati subarray dalam A dengan indeks baris yang diamati mengamati subarray dalam A dengan indeks baris yang diamatidalam r dan semua kolom diambildalam r dan semua kolom diambil A(:,r)A(:,r)mengamati subarray dalam A dengan semua baris diambil danmengamati subarray dalam A dengan semua baris diambil dan indeks kolom yang diingini dalam rindeks kolom yang diingini dalam r A(: )A(: )mengamati semua elemen dalam A sebagai vektor kolom diambilmengamati semua elemen dalam A sebagai vektor kolom diambil kolom perkolom kolom perkolomA( i )A( i )mengamati subarray dalam A dengan indeks tunggal i dianggap Amengamati subarray dalam A dengan indeks tunggal i dianggap A merupakan vektor kolom a(: ) merupakan vektor kolom a(: )A(x)A(x)mengamati subarray dalam A dengan array logika x, x harusmengamati subarray dalam A dengan array logika x, x harus mempunyai ukuran sama dengan Amempunyai ukuran sama dengan A 4Nemanipulasi Array (3) Nemanipulasi Array (3)>> m6=ones(3) >> m6=ones(3)m6 = m6 =1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1>> m6(2,3)=0 >> m6(2,3)=0m6 = m6 =1 1 1 1 1 11 1 0 1 1 01 1 1 1 1 1>> m6(2,3)=7 >> m6(2,3)=7m6 = m6 =1 1 1 1 1 11 1 7 1 1 71 1 1 1 1 14Pencarian Sub Pencarian SubArray (1) Array (1)>>Seringkali perlu mengetahui indeks elemen sustu arraySeringkali perlu mengetahui indeks elemen sustu array yang memenuhi suatu ekspresi relasi. yang memenuhi suatu ekspresi relasi.>>Dalam NATLAB masalah ini diselesaikan dengan fungsiDalam NATLAB masalah ini diselesaikan dengan fungsi find yang menghasilkan indeks elemen find yang menghasilkan indeks elemenelemen yangelemen yang padanya nilai ekspresirelasi benar padanya nilai ekspresirelasi benar>>]ika suatu fungsi NATLAB menghasilkan dua atau lebih]ika suatu fungsi NATLAB menghasilkan dua atau lebih variabel, variabel variabel, variabelvariabel itu akandisusun dalam tandavariabel itu akandisusun dalam tanda kurung kotak disisi kiri tanda sama dengan. kurung kotak disisi kiri tanda sama dengan.42Pencarian Sub Pencarian SubArray (2) Array (2)>> k=find(abs(m3)>S) >> k=find(abs(m3)>S)k = k =22446677883310 1043Pembandingan Array (1) Pembandingan Array (1)>>Suatu saat didalam matrriks diperlukan perbandinganSuatu saat didalam matrriks diperlukan perbandingan dua array. dua array.>>FungsiFungsi isequal isequal menghasilkan nilai logika Benar(1) jikamenghasilkan nilai logika Benar(1) jika dua array mempunyai dimensi sama dengan elemen dua array mempunyai dimensi sama dengan elemenelemennya identik, jika tidak isequal akanelemennya identik, jika tidak isequal akan menghasilkan nilai logika Salah(0).menghasilkan nilai logika Salah(0). >>FungsiFungsi ismemberismember mengenali elemen mengenali elemenelemen identikelemen identik dari dua array.dari dua array. >>!smember menghasilkan nilai logoka benar untuk!smember menghasilkan nilai logoka benar untuk indeks indeksindeks yang ada dalam argumen kedua.Keduaindeks yang ada dalam argumen kedua.Kedua argumen tidak harus mempunyai nilai yang sama.argumen tidak harus mempunyai nilai yang sama. 44Pembandingan Array (2) Pembandingan Array (2)isequal(A,B)isequal(A,B)benar (Benar) jika A dan B identik benar (Benar) jika A dan B identikismember (A,B)ismember (A,B)benar (Benar ) jika suatu elemenbenar (Benar ) jika suatu elemen A adalah juga elemen BA adalah juga elemen B intersect (A,B) intersect (A,B) nilai nilainilai interaksi A dengan B nilai interaksi A dengan Bsetdiff(A,B) setdiff(A,B) nilai nilainilai A yang tidak terdapatnilai A yang tidak terdapat dalam B dalam Bsetxor (A,B)setxor (A,B)nilai nilainilai ekslusif OR A dengan Bnilai ekslusif OR A dengan B union (A,B)union (A,B)nilai nilainilai hasil penggabungan Anilai hasil penggabungan A dengan Bdengan B 4Pembandingan Array (3) Pembandingan Array (3)A=|1 2 3,4 S 6,7 8 3] A=|1 2 3,4 S 6,7 8 3]B=A.*( B=A.*(1) 1)C=1:3 C=1:3isequal(A,C) isequal(A,C)isequal(A,B) isequal(A,B)isequal(A,A) isequal(A,A)isequal(C,C') isequal(C,C')ismember(A,B) ismember(A,B)ismember(A,C) ismember(A,C)>> A = 2 34

=--2-3-4----- =olumnsthrough 2 3 4olumnsthrough

ans =

ans =

ans =

ans =

ans =

ans =

4Ukuran Array (1) Ukuran Array (1)whos whos Nenampilkan variabel yang ada dala ruangNenampilkan variabel yang ada dala ruang kerja NATLABkerja NATLAB beserta ukurannyabeserta ukurannya s=size(A)s=size(A)Nenghasilkan vekror baris s, dengan elemenNenghasilkan vekror baris s, dengan elemen pertama adalah jumlah baris, dan elemen keduapertama adalah jumlah baris, dan elemen kedua adalah jumlah kolom Aadalah jumlah kolom A |r,c]=size(A)|r,c]=size(A)menghasilkan dua skalar r dan c yang memuatmenghasilkan dua skalar r dan c yang memuat jumlah baris dan kolom Ajumlah baris dan kolom A r=size (A,1) r=size (A,1) menghasilkan jumlah baris A dalam variabel r menghasilkan jumlah baris A dalam variabel rc=size (A,2)c=size (A,2)menghasilkan jumlah kolom A dalam variabel c menghasilkan jumlah kolom A dalam variabel cn=length(A) n=length(A) menghasilkan max(sixe(A)) dalam variabel n jikamenghasilkan max(sixe(A)) dalam variabel n jika A bukan matriks kosong A bukan matriks kosong4Ukuran Array (2) Ukuran Array (2)>> a = size(A) >> a = size(A)a = a =3 3 3 34Array Nultidimensi (1) Array Nultidimensi (1)s=size(A)s=size(A)untuk A n dimensi, menghasilkan vektor barisuntuk A n dimensi, menghasilkan vektor baris nelemen dengan elemen ke ! adalah ukurannelemen dengan elemen ke ! adalah ukuran dimensi ke ! dari Adimensi ke ! dari A ndimsndimsjumlah dimensi A yaitu length(size(A))jumlah dimensi A yaitu length(size(A)) permute(A,order)permute(A,order)ekuivalen dari dot transpose untuk n dimensiekuivalen dari dot transpose untuk n dimensi ipermute(A,order)ipermute(A,order)balikan dari permute(A,order) balikan dari permute(A,order)shiftdim(A,n)shiftdim(A,n)menaikkan imensi A sejumlah bilangan bulat n menaikkan imensi A sejumlah bilangan bulat nsqueeze (A) squeeze (A) menghapus dimensi singleton, menghapusmenghapus dimensi singleton, menghapus dimensi dimensidimensi yang lebih dari tiga dimensi yang lebih dari tiga4Array Nultidimensi (2) Array Nultidimensi (2)>> a1=|1 0,0 1] >> a1=|1 0,0 1]a1 = a1 =1 0 1 00 1 0 1>> b1=|2 2,2 2] >> b1=|2 2,2 2]b1 = b1 =2 2 2 22 2 2 2>> c=|16 1,1 16] >> c=|16 1,1 16]c = c =16 1 16 1116 116>> d=cat(3,a1,b1,c) >> d=cat(3,a1,b1,c)d(:,:,1) = d(:,:,1) =1 0 1 00 1 0 1d(:,:,2) = d(:,:,2) =2 2 2 22 2 2 2d(:,:,3) = d(:,:,3) =16 1 16 1116 116>> size(d) >> size(d)ans = ans =2 2 3 2 2 3

Contoh 1: Peluruhan RadioaktifContoh 1: Peluruhan Radioaktif Nenggunakan Array Nenggunakan Array>>Elemen radioaktif polonium mempunyai waktu paruhElemen radioaktif polonium mempunyai waktu paruh 140 hari, yang berarti bahwa, karena radioaktif140 hari, yang berarti bahwa, karena radioaktif meluruh, jumlah polonium yang tertinggal setelah 140meluruh, jumlah polonium yang tertinggal setelah 140 hari adalah setengah dari jumlah semula. ]ika dimilikihari adalah setengah dari jumlah semula. ]ika dimiliki 10 gram polonium hari ini, berapa banyak yang tersisa10 gram polonium hari ini, berapa banyak yang tersisa padapada akhir setiap minggu selama 10 minggu akhir setiap minggu selama 10 minggu? ?>>Nenggunakan solusi pada Bab 2: Nenggunakan solusi pada Bab 2:]umlah_tertinggal=semula*0.S(waktu/waktu_paruh)

NATLAB Contoh 1:NATLAB Contoh 1: radioaktif.m radioaktif.m% Peluruhan Radioaktifsemula= waktu_paruh=4 waktu=:: % akhir dari sepuluh minggu pertamaJumlah_tertinggal=semula*)(waktu/waktu_paruh) % titik tidak boleh lupaplot(waktu/,Jumlah_tertinggal)xlabel('Jumlah Minggu'), ylabel('Jumlah Polonium Tersisa')2Contoh 2: Perhitungan KonsentrasiContoh 2: Perhitungan Konsentrasi dengan Natematika Array dengan Natematika Array>>Sebagai bagian dari suatu proses pembuatan suku cadang di suatu pabrikSebagai bagian dari suatu proses pembuatan suku cadang di suatu pabrik otomatis, suku cadang tersebut dicelupkan kedalam air agar dingin,otomatis, suku cadang tersebut dicelupkan kedalam air agar dingin, kemudian dicelup di bak air asam untuk membersihkannya. Setelah beberapakemudian dicelup di bak air asam untuk membersihkannya. Setelah beberapa lama maka konsentrasi larutan asam akan menurun karena penambahan airlama maka konsentrasi larutan asam akan menurun karena penambahan air saat pencelupan dan larutan yang terbuang saat suku cadang tadi diambilsaat pencelupan dan larutan yang terbuang saat suku cadang tadi diambil dari bak. Untuk memelihara kualitas, keasaman larutan asam tidak bolehdari bak. Untuk memelihara kualitas, keasaman larutan asam tidak boleh kurang dari suatu batas minimum. Dimulai dengan konsentrasi asam 30%kurang dari suatu batas minimum. Dimulai dengan konsentrasi asam 30% maka jika konsentrasi minimum S0%, air yang ditambahkan ke dalam bakmaka jika konsentrasi minimum S0%, air yang ditambahkan ke dalam bak asam adalah 1% dari volume bak dan 1% dari larutan terbuang saat sukuasam adalah 1% dari volume bak dan 1% dari larutan terbuang saat suku cadang dikeluarkan. Berapa banyak suku cadang dapat dicelupkan ke bak aircadang dikeluarkan. Berapa banyak suku cadang dapat dicelupkan ke bak air asam sebelum keasaman larutan dalam bak ada di bawah batas minimum? asam sebelum keasaman larutan dalam bak ada di bawah batas minimum?>>Solusi sama dengan Bab 2 Solusi sama dengan Bab 23NATLAB Contoh 2:NATLAB Contoh 2: asam.m asam.m% Penentuan Konsentrasi AsamKons_awal= Kons_min= lost=: % % sampai % dengan kenaikan %n=floor(log(Kons_awal/Kons_min)/log(lost/)) % ingat titiknyastem(lost,n)xlabel('persentase yang hilang setiap kali pencelupan')ylabel('jumlah pencelupan')title('ontoh Pencelupan ak Air-Asam')4Contoh 3: Nencari Suatu PenyelesaianContoh 3: Nencari Suatu Penyelesaian Nenggunakan vektor Nenggunakan vektor>>Soal minggu ini" di suatu sekolah adalah menemukanSoal minggu ini" di suatu sekolah adalah menemukan semua bilangan lebih kecil dari 1000 yang habis dibagisemua bilangan lebih kecil dari 1000 yang habis dibagi 7, tetapi punya sisa pembagian 1 jika dibagi dengan 2,7, tetapi punya sisa pembagian 1 jika dibagi dengan 2, 3, 4, S dan 6 3, 4, S dan 6>>Tidak terdapat penyelesaian analitis untuk masalah ini.Tidak terdapat penyelesaian analitis untuk masalah ini. ]adi semua bilangan tersebut harus ditemukan lewat]adi semua bilangan tersebut harus ditemukan lewat pencarian. ]ika Anda memulainya dengan semuapencarian. ]ika Anda memulainya dengan semua kelipatan 7 yang kurang dari 1000, semua bilangankelipatan 7 yang kurang dari 1000, semua bilangan yang tidak memenuhi syarat berikutnya dapat dibuang,yang tidak memenuhi syarat berikutnya dapat dibuang, sehingga menghasilkan solusi yang diinginkan sehingga menghasilkan solusi yang diinginkan

NATLAB Contoh 3:NATLAB Contoh 3: lipat7.m lipat7.m% Kelipatankurang darihabis dibagi ,% sisajika dibagi 2, 3, 4,dan n=:: % semua kelipatanyang kurang dari number=length(n) % jumlah penyelesaian yang mungkinn(rem(n,2)~=)=[] % membuang yang bukan solusinumber=length(n)n(rem(n,3)~=)=[] % mengesetnya sama dengan matriks kosongnumber=length(n)n(rem(n,4)~=)=[] % fungsi rem menghitung sisa hasil baginumber=length(n)n(rem(n,)~=)=[]number=length(n)n(rem(n,)~=)=[]number=length(n)n>> number =42number =

number =24number =2number =2number =2n =