C# içerisinde Matlab fonksiyonlarına değer göndermek (C# passing parameter into Matlab)

Posted by Mahmut Sinecen | Posted in Yazılım | Posted on 02-03-2009

Matlab’ın sağladığı bir diğer özellik .NET builder özelliğinin olması, bunun sayesinde Matlab’da yazdığınız fonksiyon dosyanızı C# içerisinde rahatça kullanmanıza olanak sağlamaktadır. Öncelikle bir fonksiyonu Matlab içerisinde oluşturuyoruz. Bu fonksiyon için isteğiniz parametreleri ekleyip, daha sonra dll dosyası olarak derleme işlemini yapıyorsunuz. Basit bir fonksiyon hazırlanıp C# içerisine aktarımı

http://gulererman.blogspot.com/2008/05/matlab-komutlarn-cda-kullanma.html

sayfasında ayrıntılı olarak bulabilirsiniz. Bizim burada yapmak istediğimiz, fonksiyon içerisine parametre gönderip fonksiyonun bu parametrelere göre işlem yapmasını sağlamak.

Örneğin function ciz(baslangic,bitis) olan bir fonksiyonunuz var, burada baslangic ve bitis değerlerini C# içerisinde oluşturup bu fonksiyona göndermeniz gerekiyor. Bunun için MWArray kütüphanesini kullanmanız gerekiyor, öncelikle C# içerisinde Add Reference ile yeni bir referans ekleyeceksiniz, burada Browse kısmında ekleyeceğiniz dll dosyası

C:\Program Files\MATLAB\R2008a\toolbox\dotnetbuilder\bin\win32\v2.0\MWArray.dll

içerisinde. Bu kütüphaneyi ekledikten sonra using MathWorks.MATLAB.NET.Arrays; parametresini eklemeniz gerekiyor. Daha sonra butona veya atama yapmakistediğiniz işlemin içerisinde,

cizclass cizin = new cizclass();
// m dosyası içindeki ciz fonksiyonunu taşıyın.
MWArray baslangic = 0;
//baslangic değişkeni
MWArray bitis = 180;
cizin.ciz(baslangic,bitis);

fonksiyonunuzun parametrelerine göre değer atayıp çağırma işlemi yapmanız yeterli olacaktır, burada fonksiyon içerisine gönderdiğiniz parametreler string, integer, double, vb. olabilir. Herbirini MWArray olarak belirlemeniz yeterli olacaktır. Programınız bu şekilde sorun çıkarmadan çalışacaktır. Kolay gelsin.

Comments (4)

  1. Merhaba hocam ben matlap tan döndürüp onu c# içinde işlemek istiyorum mümkün mü acaba

  2. Merhaba;
    bu matlab grafiğini windows form içerisinde açmam mümkün müdür?

  3. Merhaba;

    istediğiniz grafiğin gösterilmesi, doğrudan yapılamamakta, matlab kendi figure dosyasını açtığında windows form da gösteremezsiniz, fakat yöntem olarak başka bir yoldan yapılabilir, matlab içerisinde hazırladığınız resim dosyasını klasöre kaydettirip, daha sonra windows form da bu fotoğrafı picture box içerisinde istediğiniz gibi gösterebilirsiniz. Umarım cevap işinize yaramıştır. İyi çalışmalar.

  4. Merhaba,

    Dediğiniz yöntemi kullandım ancak bir tür hata alıyorum. Gönderdiğim parametreleri matlab fonksiyonu içerisinde kullanamıyorum. Fonksiyon içerisinde ekstradan işlem yapmak gerekir mi?

Post a comment