1 / 34

Fuzzy Logic dengan Menggunakan MATLAB

Fuzzy Logic dengan Menggunakan MATLAB. Bahan Kuliah IF4058 Topik Khusus IF. Oleh : Rinaldi Munir. Teknik Informatika – STEI ITB. Sumber untuk bahan kuliah ini : “ Belajar Cepat Fuzzy Logic menggunakan MATLAB ” Oleh : Agus Naba Penerbit ANDI. Fuzzy Logic Toolbox.

ishi
Télécharger la présentation

Fuzzy Logic dengan Menggunakan MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fuzzy Logic denganMenggunakan MATLAB BahanKuliah IF4058 TopikKhusus IF Oleh: RinaldiMunir TeknikInformatika – STEI ITB

  2. Sumberuntukbahankuliahini: “BelajarCepat Fuzzy Logic menggunakan MATLAB” Oleh: AgusNaba Penerbit ANDI

  3. Fuzzy Logic Toolbox • MATLAB menyediakan kakas untukmembuatsisteminferensi fuzzy (FIS) bernamaFuzzy Logic Toolbox (FLT). • FLT memiliki 5 jenis GUI untukmerancang FIS: 1. FIS Editor 2. Membership Function Editor 3. Rule Editor 4. Rule Viewer 5. Surface viewer

  4. ContohStudiKasus • Pelayanrestoranseringmendapatuang tip (bonus) daripelanggan yang makandisana. Besaruang tip bergantungpadaduakriteria, yaitukualitaspelayanandankualitasmakanan. Jikapelangganmerasapuasdenganpelayanandanmakanandirestoran, pelanggantidakakanseganmemberi bonus yang besarkepadapelayan. Sebaliknyajikapelayanankurangmemuaskanataumakanankurangenak, pelangganmungkinmemberikanuang bonus yang kecilatautidakadasamasekali. Batasantentang “kualitaspelayanan”, “kualitasmakanan”, danberapabesaruang tip tidaklahjelas, olehkarenaitubersifat fuzzy. Rancanlahsebuah FIS untukmasalahini.

  5. Memulai FLT • Ketikkan fuzzy pada prompt MATLAB, makaakanmunculFIS Editor berikut:

  6. Variabellinguistikadalahpelayanan, makanan, danbonus. • Dari FIS editor, pilihFile Add Variable  Input

  7. KlikgambarInput1, gantinamanyamenjadi “pelayanan” padakotakCurrent Variable, lalutekan Enter. • UntukgambarInput2, gantinamanyamenjadi “makanan” • UntukgambarOutput, gantinamanyamenjadi “bonus” Hasil:

  8. Simpan FIS kememoridenganmemilih: File Export  To Workspace danpada field Workspace Variable isikannamafisbonus, lalutekan OK. • Untukmenyimpankememori, pilih: File Export  To Disk dansimpandengannamafisbonus.

  9. Hasil:

  10. Membership Function Editor • Dari FIS editor, pilih: Edit  Membership Functions

  11. Adatigavariabel FIS disudutkiriatas, yaitupelayanan, makanan, danbonus. • Pelayananmemiliktigaterma, yaitumengecewakan, bagus, danmemuaskan. • Klikvariabel FIS pelayanan, laluklikkurva mf1, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: mengecewakan • Range: [0 10} • Display Range: [0 10] • Type: gaussmf • Params: nilai default yang terdiridari standard deviasidan mean (bisadiubah)

  12. Klikkurva mf2, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: bagus • Range: [0 10} • Display Range: [0 10] • Type: gaussmf • Params: nilai default yang terdiridari standard deviasidan mean (bisadiubah) • Klikkurva mf3, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: memuaskan • Range: [0 10} • Display Range: [0 10] • Type: gaussmf • Params: nilai default yang terdiridari standard deviasidan mean (bisadiubah)

  13. Hasil:

  14. Makananmemilikitermahambardanenak. • Klikvariabelmakanan, laluklikmf2 • Hapusmf2dariEdit Remove Selected MF • Ubah Range manjadi [0 10} dan Display Range menjadi [0 10] • Klikkurva mf1, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: hambar • Range: [0 10} • Display Range: [0 10] • Type: trimf • Params: [-4 0 7]

  15. Klikkurva mf1, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: enak • Range: [0 10] • Display Range: [0 10] • Type: trimf • Params: [3 10 14]

  16. Hasil:

  17. Bonus memilikitermasedikit, sedang, danbanyak. • Klikkurva mf1, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: sedikit • Range: [0 30] • Display Range: [0 30] • Type: trimf • Params: [0 5 10]

  18. Klikkurva mf2, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: sedang • Range: [0 30] • Display Range: [0 30] • Type: trimf • Params: [10 15 20] • Klikkurva mf3, kemudianisikan/ganti parameter-parameter berikutpadasetiap field: • Nama: banyak • Range: [0 30] • Display Range: [0 30] • Type: trimf • Params: [20 25 30]

  19. Hasil:

  20. Rule Editor • Dari FIS editor, pilih: Edit Rules

  21. Menyisipkankaidah IF-THEN pertama: IF (pelayanan is mengecewakan) or (makanan is hambar) THEN bonus is sedikit • Di bawahvariabelpelayananpilihmengecewakan • Di bawahvariabelmakananpilihhambar • Di bawahvariabelbonuspilihsedikit • IsibobotWeightdengan 1 • KlikAdd Rule

  22. Menyisipkankaidah IF-THEN pertama: IF (pelayanan is bagus) THEN bonus is sedang • Di bawahvariabelpelayananpilihbagus • Di bawahvariabelmakananpilihnone • Di bawahvariabelbonuspilihbanyak • IsibobotWeightdengan 1 • KlikAdd Rule

  23. Menyisipkankaidah IF-THEN pertama: IF (pelayanan is memuaskan) or (makanan is enak) THEN bonus is banya • Di bawahvariabelpelayananpilihmemuaskan • Di bawahvariabelmakananpilihenak • Di bawahvariabelbonuspilihbanyak • IsibobotWeightdengan 1 • KlikAdd Rule

  24. Hasil:

  25. Rule Viewer • Rule viewer menampilkanprosesinferensididalam FIS.

  26. Surface Viewer • Surface Viewer menampilkankeluaran FIS dalam plot 3-D

  27. Fungsi-FungsiPenampil FIS Tigaperintah: • plotfis • plotmf • Gensurf Ubahterlebihdahulucurrent directory kedirektorikerja

  28. Plotfis • Dari prompt MATLAB, ketikkanperintah-perintahberikut: >> a = readfis(‘fisbonus’); >> plotfis(a)

  29. Plotmf >> plotmf(a, ‘input’, 1)

  30. >> plotmf(a, ‘input’, 2)

  31. >> plotmf(a, ‘output’, 1)

  32. Gensurf >> gensurf(a)

  33. Membangun FIS TipeSugeno • Dari FIS editor, pilihFile New FIS  Sugeno

  34. Konversi FIS Mamdani FIS Sugeno >> fisbonus =readfis('fisbonus'); >> sgnfisbonus=mam2sug(fisbonus) Respon MATLAB: name: 'fisbonus' type: 'sugeno' andMethod: 'min' orMethod: 'max' defuzzMethod: 'wtaver' impMethod: 'min' aggMethod: 'max' input: [1x2 struct] output: [1x1 struct] rule: [1x3 struct]

More Related