آموزش نوشتن m-file در متلب (matlab)

m-file در متلب

تا اینجا تقریبا اطلاعات کلی در رابطه با مقدمات متلب یاد گرفتید ولی همانطور که دیدید همه­ ی کدها در قسمت command window نوشته می شد و بلافاصله بعد از زدن کلید enter نتیجه در همان قسمت ظاهر می شد و دیگر سطرهای قبلی قابل ویرایش نبودند؛ حال فرض کنید یک کد بسیار طولانی میخواهید تهیه کنید اگر در قسمت command window این کار را انجام دهید خواهید دید، اگر یکبار به اشتباه “;” وارد نکنید کل کدها به هدر میرود و دیگر قابل ویرایش نخواهد بود یا اگر کدتان دارای مشکل بود و متلب error داد باز مشکل قبلی پایدار است. این جاست که نوشتن m-file در متلب به کمک ما می آید. برای تهیه این m-file کافیست  edit را در قسمت command window تایپ کنید به صورت شکل زیر:

بعد از زدن enter صفحه ای بصورت زیر نمایان خواهد شد.

از این به بعد همه چیز در این قسمت نوشته خواهد شد و نتایج برنامه بعد از ذخیره کردن m-file در قسمت command window مشاهده خواهد شد.

در سمت چپ، بالا بخشی به نام new وجود دارد که با زدن آن mfile دیگری باز خواهد شد. بخش دیگری نیز به نام run وجود دارد که با زدن آن برنامه ی مورد نظر اجرا خواهد شد. البته  قبل از اجرا ، متلب از ما می خواهد این قسمت را ذخیره کنیم. نوشتن m-file در متلب بسیار گسترده می باشد و توضیحات مفصلی را می طلبد که در قسمتهای بعدی مثل حلقه در متلب و ترسیم نمودار در متلب با آن بیش تر توضیح خواهیم داد.

یکی از مثال های قبلی را در این قسمت می خواهیم اجرا کنیم:

مثال: می خواهیم a=2 را در b=5 ضرب کرده و نتایج را در یک ماتریس دیگر با نام c نشان دهیم.

نکته: برای نمایش دادن خروجی در متلب از تابع disp استفاده می شود. روند استفاده از آن به صورت زیر می باشد

([(disp([‘parametre mored nazar=’ num2str(parameter

تابع num2str  تبدیل کننده به رشته نامیده می شود. بدین صورت که اگر ماتریسی به صورت[ a=[2 5 4 باشد و بخواهید به صورت رشته ببینید، کافیست دستور زیر را وارد نمایید (mat2str(a که شکل زیر این موضوع را نشان می دهد.

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

جهت پاسخ به مثال بالا نیز شکل زیر را مشاهده نمایید

وقتی آیکون run را کلیک کرده از شما خواست تا پوشه ی مناسب خود را انتخاب کرده و سپس ذخیره کنید بعد از ذخیره خود برنامه اجرا خواهد شد و نتیجه در command window نمایش داده می شود.

من فایل را با نام باقر ذخیره کردم که در بالا نمایش داده شده است.

مثال: می خواهیم ماتریس [a=[2 5 9;3 6 8 را به صورت درایه به درایه با ماتریس b=[5 4 7;3 2 0] ضرب کرده و توسط ماتریس c نمایش دهیم.

نکته: تابع disp که نام را می خواهید بنویسید، اگر چند بعدی باشد error خواهد داد شکل و نتیجه زیر را ببینید:

نتیجه:

برای حل چنین مشکلاتی باید به صورت زیر عمل کنید:

;[a=[2 5 9;3 6 8

;[b=[5 4 7;3 2 0

;c=a.*b

(‘=disp(‘c

;([(disp([num2str(c

یعنی disp را در یک خط دیگر و قبل تر قرار دهید نتیجه به صورت زیر خواهد شد:

bagher<<

=c

10  ۲۰  ۶۳

۹  ۱۲   ۰

<<

تذکر: در هنگام برنامه نویسی در mfile متلب و یا در قسمت command window بهتر است ابتدای هر برنامه، از دستورهای clear و clc استقاده شود. clear باعث پاک شدن اطلاعات حافظه workspace و clc باعث پاک شده همه چیز در command window می شود.

تصویر زیر را ببینید :

حال در همین قسمت command window دستور clear و clc را می نویسیم:

همان طور که مشاهده می کنید بلافاصله بعد از تغییر سطر clear قسمت workspace خالی گردید. حال بعد از clc نیز شکل زیر این قسمت را نشان می دهد:

میبینید همه چی پاک شد. پس دستور مثال قبلی را در mfile متلب به صورت زیر می نویسیم تا قبل از رسیدن به قسمت اصلی برنامه همه چی که در workspace و command window وجود دارد را پاک کند یعنی به صورت زیر:

;clear

;clc

;[a=[2 5 9;3 6 8

;[b=[5 4 7;3 2 0

;c=a.*b

(‘=disp(‘c

;([(disp([num2str(c

تذکر: اگر در انتهای هر سطر “;” قرار داده نشود نتیجه همان سطر نیز در workspace نمایش داده می شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

20 + 14 =

آموزش برنامه نویسی

پشتیبانی

ارتباط با ما

  • شماره تماس : 09360147484
  • ایمیل : info@sigmaland.ir

نماد اعتماد الکترونیکی

لوگو طلایی

logo-samandehi
تمامی حقوق مادی و معنوی برای سایت سیگمالند محفوظ است.