الأحد، 18 سبتمبر 2011

التعشق بين الماتلاب وفيجوال ستوديو ( MATLAB and visual Stdio)


لكثرة احتياج المبرمجين الى تطبيقات الماتلاب في برمجة تحت اطار نت فريم ورك تم الاتفاق مؤخرا بين شركة مايكروسوفت وشركة ماتلاب حول مشروع اسمه  MATLAB Builder NE for Microsoft .NET Framework  
هذا المشروع وفر خدمة كبيرة جدا لمبرمجي دوت نت بحيث يستطيع الاستعادنة بدوال الماتلاب وتطبيقها في برامجه وتوفير برامج ذات سمات عالية ذو متانة رياضية تحليلية وواجهات جملية وتستخدم في اي حاسوب دون وجود برنامج الماتلاب

فكرة عمل هذه المكتبة هي:
اننا نضع مانحتاجه من دوال داخل function تم نضعها كلها داخل class ونحوله الى ملف DLL  وندرج هذا الملف داخل تطبيقات الدوت نت وننفذ مافي داخلها من دوال حالها كحال اي ملف DLL اخر 

خطوات العمل هي  في بيئة الماتلاب نبدء بما يلي............!!!!


1.   نفتح ملف جديد (M-file) و تقوم بتكوين دوال function   في داخله 


(function [outputparameter]=functionName(inputparameter   


end








2..نكتب في (command windows) امر  deploytool  ونظبط التالي
نكتب اسم الملف DLL  ومكان حفظه
(target)  نجعله  net assembly.


3. الان نكون كلاس جديد نسمية ( class1)  او اي اسم  ونضيف اليه function التي كونها بسحب والأفلات داخل ( class1)


ونكون ملف DLL بشكل الذي نريده وعدد  class التي نحتاجها 

 4. بعد ان ننتهي  نعمل build من قائمة الخيارات 



سوف يكون لنا ملف امتداده DLL  ويخزنه في الامتداد الذي  اخترنا لحفظه فيه

الان انتهينا من تكوين ملف DLL له القدرة على العمل داخل بيئة الدوت نت

خطوات العمل هي  في بيئة الدوت نت نبدء بما يلي............!!!!

1. نفتح مشروع جديد بفيجوال vb.net2008 او #C

2. ونضيف الدالة التي كونها بصيغة (dll) الى البرنامج عن طريق  عن طريق Add refrence

3. نضيف mwArray Class   وهي متخصصة بتعامل مع مترجم C++  MATLAB  وهو مسؤل عن تحويل البيانات الى مصفوفات    وسنضيف نحن  ملف ال DLL الموجود بهذا المسار الخاص بالتعامل مع المصفوفات وهو MWArray.dll  موجود في المسار التالي
\C:\Program Files\MATLAB\R2010a\toolbox\dotnetbuilder\bin\win3 2\v2.0

4. في قسم التصريحات العامة نستدعي ملف DLL الذي  كوناه ومكاتب الماتلاب الخاصة بشكل التالي
code in vb.net








Imports MathWorks.MATLAB.NET.Arrays
Imports MathWorks.MATLAB.NET.Utility
Imports DLL_File_Name

5. تم نشتق كائن من اي class موجود في  ملف DLL ونتعامل معه بشكل التالي
code in vb.net
  Dim test As New Class1
 6.الان نستطيع التعامل مع اي دالة موجودة داخل بشكل التالي
code in vb.net
            (test.functonName(parameter

ولكي يعمل البرنامج على اي حاسوب دون توفر  الماتلاب يجب ارفاق مترجم الماتلاب MATLAB Compiler Runtime  مع البرنامج


وهاذان مثالان عمليان على الشرح
1.برنامج رسم اي معادلة رياضية مع الشرح
إرسال تعليق