کلیدستان

نسخه‌ی کامل: ساختن یک کتابخانه در متلب و استافده از این کتابخانه در برنامه متلب
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
با عرض سلام
 یک سوالی دارم در مورد ساخت یک کتابخانه از توابع متلب که توسط خودمون نوشته می شوند مثلاً فرض کنید من دو تابع زیر  رو دارم و می خواهم از آنها یک dll بسازم.

کد:
function z=Sum(x,y)
z=x+y;
end

کد:
function z=Subtraction(x,y)
z=x-y;
end

توی سی شارپ یا وی بی و یا س یا سی پلاس پلاس، می شه توابع رو به صورت کتابخانه ای ساخت و در خودشون هم استفاده کرد. در متلب این وضع چگونه است؟
سلام.
اکثر برنامه های متلب نوشته شده ای که من دیدم، توابع رو به صورت m-file به همراه m-file اصلی ارائه می دهند (البته برنامه های با سطح متوسط بودند). اما اگر بخواهیم که حتما تمامی توابع را در یک library ارائه بدهیم، دو نکته زیر را بخوانید :

نکته اول :
برای ساخت یک فایل DLL (مخفف Dynamic Link Library)، باید کد متلب خود را به یک فایل DLL ، کامپایل کنید. این عمل توسط دستور mcc انجام می شود. پس از آن، با استفاده از دستور loadlibrary در متلب، می توانید به library دسترسی داشته باشید. فرم کلی استفاده از دستور loadlibrary ، به صورت زیر می باشد :

کد:
loadlibrary('shrlib', 'hfile')

که در آن، shrlib ، نام فایل DLL و hfile نام  فایل header (یعنی header file) می باشد.

نکته دوم :
مفسر نرم افزار MATLAB ، در java نوشته شده است. بنابراین اگر شما یک کد java را در متلب بنویسید، اجرا خواهد شد. زبان java ، خود دارای library ها و package های بسیار کامل می باشد. شما می توانید از آنها استفاده کنید. مثال زیر را ببینید :

کد:
s = java.lang.String('hello, world')
s = s.replaceAll('l', 'abc')

نتیجه اجرای کد متلب بالا :

کد:
s =

hello, world


s =

heabcabco, worabcd

بنابراین از قابلیت های library ها در زبان java نیز می توانید استفاده کنید.

باید به دنبال جزئیات این دو موردی که گفته شد بروید تا به نتیجه دلخواه خود برسید.