Laman

Sabtu, 21 Desember 2013

memanggil dan menjalankan fungsi matlab di C#

Untuk beberapa kasus mungkin kita akan membutuhkan komponen untuk menyelesaikan permasalahan yang sedang kita selesaikan, seperti misalnya jika kita ingin menyelesaikan sebuah perhitungan Quadratik pasti akan kesulitan jika tanpa menggunakan komponen, banyak sekali komponen-komponen yang disediakan untuk .NET seperti ACCORD dan AFORGE dua framework ini sangatlah powerfull. tapi kali ini saya akan coba memanggil function matlab dari C#. pada contoh kali ini hanya akan di demokan cara pemanggilan sebuah function yang ada di matlab. pada pengembangannya nanti kita bisa membuat sebuah program di matlab berupa sebuah function dan hasilnya kita tarik ke dalam program .NET C# yang kita buat. Sekarang kita mulai membuat project.
pertama-tama yang harus kita lakukan adalah membuat sebuah function di matlab, walaupun pada dasarnya kita bisa memanggil semua function yang ada di matlab, akan tetapi agar memudahkan dalam pemahaman, kita buat function sendiri.
  • Buka matlab (disini matlab yang digunakan adalah matlab R2012a)
  • Buat sebuah function sederhana di matlab, function inilah yang nanti akan kita panggil di C#. klik file pilih new function pada matlab, setelah itu tambahkan code berikut ini

  • langkah selanjutnya ketikan deploytool untuk menampilkan jendela deployment project di matlab. kurang lebih seperti pada gambar dibawah ini


     Perhatikan pada main jendela deploytool pada matlab, pada kolom project isi dengan nama project yang kita bangun, misalnya kita isi dengan nama "csharp-indonesia.com" dan pada kolom type kita pilih .NET Assembly. setelah itu klik button OK. 
  •   Maka akan tampil jendela project dari deployTool seperti pada gambar dibawah ini


  •  klik pada Add class untuk menambahkan class pada project yang kita bangun di matlab. dan juga tambahkan add file dimana add file ini sebenarnya adalah menambahkan letak file fucntion yang kita buat tadi
  • sekarang lakukan proses build dengan melakukan klik icon build di samping project, unntuk lebih jelasnya silahkan perhatikan gambar dibawah ini

    •  jika proses build project sudah complete, maka kita akan mendapatkan dua folder yaitu scr dan distrib. letak kedua folder terletak dimana meletakan function penamnahan matrix.
    • Selanjutnya kita buka project baru di Visual studio (disini versi yang digunakan adalah visual studio 2013 dengan target framework 4.0). klik file new project pada IDE visual studio, pilih windows apllication serta pada kolom name silahkan diisi dengan nama yang diinginkan, klik OK.
    • jika form sudah muncul, tambahkan komponen 3 datagridview dan juga 1 button. atur dan tata sedemikian rupa sehingga interfacenya seperti pada gambar dibawah ini
    •  tambahkan komponen yang kita dapatkan dari build project di matlab. pada kasus contoh ini dll yang terbentuk adalah tambahMatrix.dll (nama file dll ini tergantung dari nama project) dan tambahkan satu componen file dll MWarray.dll berada di folder C:\Program Files\MATLAB\R2012a\toolbox\dotnetbuilder\bin\win64\v2.0. untuk cara menambahkan dll dalam program pilih menu project dan pilih add reference, browse dan cari filenya.
    •  tambahkan reference pada header program.  

    • doouble klik pada button1 untuk membangkitkan event single klik  pada button tersebut, setelah itu tambahkan code program berikut ini

    project done, silahkan di running program.  jika langkah-langkah diatas dilakukan dengan benar maka hasil output seperti pada gambar dibawah ini.
    Hasil running program, saat pertamakali di jalankan program akan tampil seperti pada gambar dibawah ini


    Setelah button Matlab function di klik, hasilnya seperti pada gambar dibawah ini




    Full Download Project: Link Download ada di Video Tutorial.

    Untuk lebih memudahkan dalam memahami tutorial ini, silahkan perhatikan video tutorial pembuatan program dibawah ini, Link Download full project ada di Video Tutorial dibawah ini


    Artikel Terkait

    28 komentar:

    1. R Arif Firdaus Lazuardi2 Januari 2014 pukul 19.51

      Mas untuk nambahin
      using MathWorks.MATLAB.NET.Arrays
      gimana caranya ya?
      Arif, thanks

      BalasHapus
    2. saya mencoba membuat program absensi seperti berikut :

      **ID | time present | date |**

      0000001 | 07.00 | january, 1, 2014 |

      tapi ketika saya memasukkan Id yang sama pada hari yang berbeda tidak bisa karena Id telah terdaftar di tabel di hari sebelumnya...ketika saya memasukkan value seperti berikut :

      0000001 | 07.00 | january, 2, 2014 |

      yang saya ingin tanyakan gimana saya bisa memasukkan 1 ID yang sama tetapi untuk hari yang berbeda seperti inii :

      0000001 | 07.00 | january, 1, 2014 |

      0000001 | 07.15 | january, 2, 2014 |

      Mohon Bantuannya BAng terima kasih

      BalasHapus
    3. terlebih dahulu harus di add reference. sudah di reference kah file dll nya..?

      BalasHapus
    4. gunakan composite primari key. ID, time present, dan Date dijadikan sebagai primary key

      BalasHapus
    5. We talked about Thanksgiving, recipe modification, getting to the day to day.
      If you plan to buy a game for someone else, you must certainly
      check the game is suitable for the era of the person. The idea is
      that you enjoy your meal at the table off of the Wii U do something brand new.


      Feel free to visit my page: The Simpsons Tapped Out Hack

      BalasHapus
    6. Howdy! Quick question that's totally off topic. Do you know how
      to make your site mobile friendly? My blog looks weird when browsing from my apple iphone.

      I'm trying to find a template or plugin that might be able to
      correct this issue. If you have any suggestions, please share.
      Thank you!

      my web-site themed diamond cuff

      BalasHapus
    7. These are in fact impressive ideas in concerning blogging.
      You have touched some good points here. Any way keep up wrinting.


      Feel free to surf to my blog: can i give my newborn colic calm

      BalasHapus
    8. Fantastic goods from you, man. I have understand your
      stuff previous to and you are just too great. I actually likme what you have acquired here, certainly like what you're saying and the wayy in which yyou say it.
      You make it enjoyable and you still care for to keep it smart.
      I can't wait to read much more from you. This is actually a terrific website.


      my web-site ... web page (youtube.com)

      BalasHapus
    9. Sweet blog! I found it while surfing around on Yahoo News.
      Do you have any tips on how to get listed in Yahoo News? I've been trying for a while but I never seem to get there!
      Many thanks

      Here is my weblog :: Original Phen 375

      BalasHapus
    10. He supports children's hospitals as well as a charity dedicated to curing Duchenne Muscular Dystrophy.
      The proceeds from the cookbook were dedicated to United China Relief.

      Barnum staged publicity merely for the sake of
      publicity for his traveling circus.

      Also visit my web site :: msp hack

      BalasHapus
    11. What a stuff of un-ambiguity and preserveness of valuable knowledge concerning unpredicted feelings.



      Feel free to visit my web site ... premium cleanse

      BalasHapus
    12. When we buy a sunglasses, we offer be told to see some polarized sunglasses. Now, follow the guideline of oakley to know what is polarized sunglasses, how does polarized sunglasses work, and how to buy an oakley polarized sunglasses?Polarized Sunglasses: Polarized could be divided into 3 kinds, particularly, linearly polarized, elliptically polarized and circularly polarized light-weight. Commonly oakley refers to linearly polarized mild, also called aircraft polarized light-weight. This vibration of sunshine waves alongside a specific path, interaction line like a sine curve, projected within a straight line perpendicular for the path of propagation. The path of vibration airplane on the linearly polarized gentle composed from the propagation path is oakley sunglasses known as the airplane of vibration, the vibration path and perpendicular towards the airplane that contains the path of propagation on the aircraft of polarization is known as. To ensure that all-natural gentle by means of a polarizing microscope, it is possible to get linearly polarized,

      BalasHapus
    13. Terimakasih ya gan, ane cobain dulu nih.

      BalasHapus
    14. trimaksih ilmu blognya.
      mas admin mau nanya kalo fungsi @ suka ada dicode matlab @minus dll itu gmn mas????
      trimss

      BalasHapus
    15. mantab nih artikelnya bos. semoga saya bisa mencobanya dan tidak error ya bos hehe.

      http://www.bahasapemrograman.com/2015/12/konstanta-dan-variabel-di-dalam-bahasa-pemrograman-Cplusplus.html

      http://www.bahasapemrograman.com/2015/11/pendahuluan-bahasa-c-yang-harus.html

      BalasHapus
    16. To those ready and waiting to get their hands on the next colorway of the Air Jordan 5 Low: you’re wait can cheap jordans now be over. Scheduled to drop this Saturday, February 20th, you can grab a pair of the cheap jordans for sale “Dunk From Above” low-tops early from Stadium Goods, who has the white, blue, and gold colorway in http://www.cheapjordansshoesforsale2016.com stock now. The best part, jordans shoes there’s no additional fee that you usually have to pay to join #TeamEarly—the shop has them up for grabs at the retail price of $175. Head on over to Stadium Goods to grab a pair while jordans for sale supplies last.
      You knew they’d be releasing around the NBA All-Star Weekend, but now we finally have jordan 13 a solid confirmed drop date for the much-anticipated Air Jordan 10 “OVO” in black. the sequel to jordans 2016 the sought-after white Air Jordan 10’s from Drake, the this version features all the same materials, just jordan 11 legend blue in a blacked-out look. If you’re after a pair, you already know what they look like, so Air Jordan 11 Retro 72 10 now we’ll just give you the release date: the Air Jordan 10 OVO “Black” drops Saturday, February cheap jordan shoes 13th at select Jordan Brand retailers around the globe.

      BalasHapus
    17. Trovo questo modello leggermente discordante, principalmente a causa del finto lume vintage.panerai replica Non sono sicuro che IWC stia cercando di ottenere un look d'ispirazione vintage qui, ma lo stile generale di questo pezzo mi sembra un po 'incompatibile con me. Detto questo, sono sicuro che questo modello avrà i suoi fan.omega replica Conosco un buon numero di collezionisti che preferiscono l'aspetto del finto lume vintage perché rende un orologio più caldo, meno freddo e sterile.IWC replica L'edizione Ingenieur Chronograph "Rudolf Caracciola" è limitata a 750 pezzi.

      BalasHapus
    18. Anche se non sei minimamente interessato alle auto da corsa vintage, o alle auto in generale,vacheron constantin replica questi tre orologi Ingenieur Chronograph in edizione speciale sono comunque orologi belli. A giudicare dall'attenzione che IWC ha prestato a questi nuovi pezzi, è evidente che IWC ha speso molti sforzi per aggiornare i suoi orologi Ingenieur.tag heuer replica In particolare, mi piace il fatto che IWC abbia abbinato la ruota della data al colore del quadrante,rolex replica e mi piace anche il design piuttosto unico degli indici delle ore e degli eccellenti cinturini.

      BalasHapus