matlab
matlab
(MATLAB) نام یکی از نرمافزارهای رایانهای برای انجام محاسبات ریاضی است. واژه matlab هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامهنویسی مربوطه است از ترکیب دو واژهٔ MATrix و LABratuary ایجاد شده است. این نام حاکی از رویکرد ماتریس محور برنامه است، که در آن حتی اعداد عادی هم به عنوان ماتریس در نظر گرفته میشوند.
با نرمافزار matlab میتوان ماتریسها را به راحتی تغییر داد، توابع یا دادهها را ترسیم کرد، الگوریتمها را اجرا کرد و همچنین صفحات رابط میان کاربر و رایانه ایجاد کرد.
متلب که از محصولات شرکت مثورکس (The MathWorks) است، برای گروههای مختلف مهندسان رشتههای مختلف از جمله مهندسی برق، مکانیک، کامپیوتر و ... کاربرد بسیاری دارد.
قدرت matlab
برنامههای matlab همگی متنباز هستند و در واقع متلب مفسر است نه کامپایلر. قدرت matlab از انعطافپذیری آن و راحت بودن کار با آن ناشی میشود، همچنین شرکت سازنده و گروههای مختلف، از جمله دانشگاههای سرتاسر جهان و برخی شرکتهای مهندسی هر ساله جعبهابزارهای خاص-کاربردی به آن میافزایند که باعث افزایش کارای و محبوبیت آن شده است. فهرستی از این جعبهابزارها در زیر آمده است:
این نرم افزار و کار های آن برای سایر رشته ها
جعبهابزار مخابرات matlab
جعبهابزار کنترل matlab
جعبهابزار فازی matlab
جعبهابزار محاسبات matlab
جعبهابزار سیمولینک matlab
جعبهابزار تخمین matlab
جعبهابزار آمار matlab
جعبهابزار جمعآوری دادهٔ matlab
جعبهابزار شبکه عصبی matlab
جعبهابزار پردازش تصویر matlab
جعبهابزار پردازش صوت matlab
جعبهابزار احتمالات matlab
جعبهابزار کارگاه بلادرنگ matlab
MATLAB محیطی برای محاسبات عددی و زبان برنامه سازی می باشد که توسط MATH WORKS ساخته شده است ، MATLAB امکان دستکاری و کارکردن ساده با ماتریس ، رسم نمودار توابع و دیتا ، اجرای الگوریتم ، ساخت واسط کاربر و واسط برنامه با سایر زبانهای برنامه نویسی را بوجود می آورد . اگر چه MATLAB مخصوص محاسبات عددی است اما toolbox ی با استفاده از موتور maple آنرا به سیستم کامپیوتری – جبری تبدیل می کند . این نرم افزار توسط یک میلیون نفر در دانشگاهها و صنعت مورد استفاده قرار می گیرد . هزینه این نرم افزار برای مصارف تجاری بدون tool box حدود 2000 دلار آمریکا و برای مصارف دانشگاهی با toolbox محدود حدود 100 دلار آمریکا است .
تاريخچه
MATLAB چکیده matrix laboratory است و در اواخر سال 1970 توسط کلو مولر رئیس دانشکده علوم کامپیوتری دانشگاه نیومکزیکو ساخته شد . وی این نرم افزار را برای دسترسی دانشجویانش به linpak و eispak بدون نیاز به دانستن fortran ساخت . این نرم افزار به سرعت در دانشگاهها دیگر توزیع و پخش شد و طرفداران زیادی یافت مانند انجمن ریاضیات کاربردی . jack little مهندسی بود که طی ملاقاتش با مولر با MATLAB آشنا شد و آنرا برای دانشگاه استنفورد در سال 1983 ساخت وی با شناخت پتانسیل تجاری این نرم افزار به مولر و استیو بنجرت ملحق شد آنها MATLAB را با نرم افزار C بازنویسی کردند و برای توسعه های بعدی این نرم افزار در سال 1984 شرکت MATH WORKS را بنا نهادند . این کتابخانه بازنویسی شده بعنوان jacpac شناخته می شود . MATLAB اولین بار توسط مهندسین کنترل به کار گرفته شد ولی سریعاً به سایر زمینه ها نیز راه یافت . این نرم افزار امروزه برای آموزش مورد استفاده قرار می گیرد مخصوصا در آموزش جبر خطی و محاسبات عددی .
Syntax
M code های MATLAB ( یا m ) اصولا مقادیر جهتدار هستند برخلاف نرم افزارهای java و C++ ، m هاآماری یا عددی نیستند به دین معنی که مقادیر ، خودشان داری نوع نیستند و فقط مقادیر runtime که در این مقادیر ذخیره می شوند دارای نوع هستند مانند php یا java’s script
متغیر ها :
متغیر ها با استفاده از اجراگر ها تعریف می شوند مانند ‘ = ‘ بعنوان مثال x=17 بعنوان متغیری بنام x تعریف شده و مقدار آن 17 است . متغیر ها می توانند از مقادیر دقیق تری مانند ثابت های رشته ای
( دنباله ) و مقادیر بی واسطه عددی یا سایر متغیر ها از خروجی یک تابع گرفته شوند .
بردارها / ماتریس ها
MATLAB آزمایشگاه ماتریسی است و روش های بسیار ساده ای برای ساخت رشته هايي با ابعاد مختلف فراهم می کند در زبان MATLAB بردار یک ، ماتریسي از مرتبه یک است ( N*1,1*N )در حالیکه در زبانهای برنامه نویسی دیگر یک بردار یک رشته است . یک ماتریس به ماتریس چند بعدی گفته می شود یعنی ماتریسی که بعدی بیشتر از یک دارد بعنوان مثال یک ماتریس از مرتبه n*m یا n*m*l که n یا m یا l بزرگتر از یک هستند در سایر زبانهای برنامه نویسی نمونه هایی مانند ماتریس رشته ای از رشته ها یا رشته ی رشته ی رشته ها هستند .
MATLAB روش ساده ای برای تعریف رشته های ساده با استفاده از syntax بوجود می آورد . بعنوان مثال :
کد:
array= 1:2:9
array =
1 3 5 7 9
متغیری را تعریف می کند که رشته نامیده می شود که رشته ای متشکل از 1 و 3 و 5 و 7 و 9 می باشد . این رشته با یک شروع می شود و هر مقدار دو واحد از مقدار قبلی اش بیشتر است ( طول گام 2 ) و آخرین مقدار 9 است یعنی فاصله بین یک و نه با طول گام 2 تقسیم شده است .
گام افزایش از سمت چپ شروع می شود تا از مقدار تعریف شده یک استفاده کند .
نشان می دهد متغیر ari متغییری از array است چون مقدار پیش فرض یک برای گام افزایش در نظر گرفته شده .
سمیکولون :
سمیکولون "; " بعضی کاربردهای غیر مترقبه در m دارد .سمیکولون برای خاتمه دادن به فرمان مانند آنچه که در java و C++ و سایر زبانها نیاز است در MATLAB مورد نیاز نمی باشد در عوض سمیکولون برای جلوگیری از اجرای فرمان در انتهای خط مورد استفاده قرار می گیرد .
خرده کد ها code snippets
این کد ها از تابع های magic.m جدا شده است که مربع جادویی M را برای مقدارهای فرد بوجود می آورد .
کد:
[J,I] = meshgrid(1:n);
A = mod(I+J-(n+3)/2,n);
B = mod(I+2*J-2,n);
M = n*A + B + 1;
توجه کنید که این عملیات را روی بردارها و ماتریس ها بدون استفاده از حلقه for انجام می دهد . اصطلاحا برنامه های MATLAB روی کلیه رشته ها در یک زمان اجرا می شود . تابع meshgrid استفاده شده در فوق رشته هایی مطابق ذیل بوجود می آورد .
کد:
J =
1 2 3
1 2 3
1 2 3
I =
1 1 1
2 2 2
3 3 3
اغلب توابع اسکالر می توانند روی رشته ها اجرا شوند و خودشان را برای هر عنصر بصورت موازی به اجرا در آورند بنابر این مد ( 2*J,n ) [ مد : پیمانه ] 2 را در کل j ضرب می کند قبل از اینکه هر عضورا به مد n کاهش دهد .
MATLAB داری حلقه های استاندار while و for می باشد ، اما استفاده از نمادهای برداری MATLAB اغلب کدهایی را ایجاد می کنند که به راحتی قابل خواندن و اجرا شدن هستند .
سرگرمی :
اگر شما در خط prompet ( همان خطی که در آن می نویسیم ) why و toilet را تایپ کنید بعضی از رخدادهای سرگرم کننده پیش می آید . toilet برنامه ای را اجرا می کند که سیستم توالت را شبیه سازی می کند برنامه why به سوال چرا ؟ جواب می دهد که هر بار پاسخ با دفعه قبل متفاوت است .