m-file ها در متلب
چنانچه بخواهید برنامه ای طولانی و پیچیده بنویسید، دیگر پنجره Command جوابگوی نیاز شما نیست و به محیطی فراتر از آن برای نوشتن دستورات و تصحیح کردن آنها نیاز دارید. متلب برای این گونه موارد، امکان ساخت m-file ها را فراهم کرده است. شما می توانید در یک m-file ، تمامی دستورات خود را نوشته و تنها بر روی یک دکمه گرافیکی کلیک کرده و سپس نتیجه اجرای دستورات را در پنجره Command ببینید.
ساخت یک m-file در متلب :
برای ساخت یک m-file جدید می توانید از هر یک از روش های زیر استفاده کنید :
1- در بالای پنجره اصلی نرم افزار متلب، بر روی گزینه New script کلیک کنید. این گزینه به شکل
می باشد.
2- با نگه داشتن کلید Ctrl و فشار دادن کلید N از کیبورد، این کار را انجام دهید.
3- در پنجره Command بنویسید edit و سپس کلید enter از کیبورد را فشار بدهید.
هر یک از روش های بالا را که انتخاب کنید، نتیجه این است که متلب یک پنجره خالی باز می کند که می توانید در آن، دستورات خود را اجرا کنید.
توصیه می شود اولین دستوری که در یک m-file می نویسید، دستور clear all باشد تا تمامی متغیرهایی که قبلا در متلب تعریف شده است را پاک کند و اختلالی در روند اجرای برنامه ایجاد نشود.
باید دقت داشته باشید که در نرم افزار متلب، m-file ها برای دو هدف اصلی به کار می روند، کاربرد اول آن نوشتن برنامه های پیچیده و طولانی و کاربرد دوم آن ساخت تابع می باشد. ساخت تابع با استفاده از m-file را در مباحث بعدی توضیح خواهیم داد. در این مبحث تنها در مورد نوشتن برنامه در m-file ها صحبت خواهیم کرد.
پس از آنکه دستورات برنامه را در m-file نوشتیم، ابتدا باید با استفاده از گزینه Save در بالای همان پنجره m-file ، آن را ذخیره کنیم. همچنین با نگه داشتن کلید Ctrl و فشار دادن کلید S ، می توانید این کار را انجام دهید.
سپس برای اجرای برنامه، باید بر روی گزینه Save and run که به شکل
می باشد، کلیک کنید تا نتایج برنامه در پنجره Command نمایش داده شود. همانطور که از نام این گزینه مشخص است، این گزینه، عمل ذخیره کردن را هم انجام می دهد، یعنی اگر تغییراتی در برنامه ایجاد کنید و سپس بر روی این گزینه کلیک کنید، این تغییرات در m-file ذخیره می شود. اگر قبلا فایل ذخیره نشده باشد، ابتدا از شما می خواهد که نامی برای آن انتخاب کرده و سپس آن را ذخیره کنید.
m-file ها دارای پسوند m می باشند (به عنوان مثال : program.m).
اجرای دستورات درون یک m-file بدون باز کردن آن :
حتی بدون باز کردن یک m-file نیز می توان برنامه نوشته شده در آن را اجرا کرد. برای این منظور باید ابتدا پنجره Current Folder به گونه ای باشد که فولدر حاوی m-file مورد نظرمان را نمایش بدهد (البته می توان مسیر فایل را به نرم افزار متلب اضافه کرد، ولی فعلا در این مورد توضیحی نمی دهیم). فرض کنید نام m-file حاوی برنامه، program.m باشد، بنابراین باید نام فایل program.m را در پنجره Current Folder ببینیم. سپس تنها کافی است که در پنجره Command بنویسیم program و سپس کلید enter از کیبورد را فشار دهیم. دقت شود که نباید پسوند .m نوشته شود. نتیجه اجرای دستورات در پنجره Command نمایش داده خواهد شد.
نوشتن توضیحات در m-file :
زمانی که یک برنامه طولانی بنویسید، به دلیل حجم زیاد دستورات، ممکن است بخشی از روند برنامه نویسی را فراموش کنید. گذشت زمان نیز بسیار تاثیرگذار است و گاهی آن قدر از زمان نوشتن برنامه گذشته است که خود برنامه نویس مجبور می شود برنامه را بارها بخواند تا درک کند که از چه روش هایی استفاده کرده است و گاهی نوشتن یک برنامه جدید به صرفه تر است و زمان کمتری نیاز دارد. بر حسب تجربه، ثابت شده است که با استفاده از 2 تکنیک زیر، می توان این مشکل را تا حد زیادی برطرف کرد :
1- انتخاب هوشمندانه نام متغیرها به گونه ای که هدف استفاده از آنها را بتوان از نامشان به طور کامل درک کرد.
2- می توانیم هنگام نوشتن برنامه، توضیحاتی را در کنار کدها بنویسیم، تا با خواندن آنها خود برنامه نویس یا هر شخص دیگری به راحتی درک کند که روش های استفاده شده در برنامه چیست.
در متلب چنانچه از علامت درصد (%) استفاده کنیم، تمامی نوشته های بعد از علامت درصد، به صورت توضیح در نظر گرفته می شوند. به مثال زیر توجه کنید :
% www.kelidestan.com
y=3
نتیجه :
2
y =
3
همان طور که مشاهده می کنید، www.kelidestan.com به عنوان دستور در نظر گرفته نشده و در خروجی نیز نمایش داده نشده است.
باید دقت داشته باشید که متلب نوشته های بعد از علامت درصد را تنها در خط فعلی، به صورت توضیح در نظر می گیرد و نوشته های خط بعد را به صورت دستور (نه توضیح) در نظر خواهد گرفت. بنابراین چنانچه بخواهیم توضیحاتی را در چند خط پشت سرهم بنویسیم، باید در ابتدای هر کدام از آن خط ها، از علامت درصد استفاده کنیم. به مثال زیر توجه کنید :
% www.kelidestan.com
% this is a simple code
y=3
نتیجه :
2
y =
3
عالی بود, خیلی خوب توضیح داده بود, سوالم حل شد, ممنون از زحماتتون
سلام این اخراش من به مشل خوردم.گزینه ای که گفتید save and run ندارم من. فقط یدونه Run خالی با run and advanced با run section دارم کدوم از ایناست؟
سلام.
بر روی همان گزینه Run کلیک کنید، اگر m-file قبلا Save شده باشد، کدهای m-file اجرا می گردد، در غیر این صورت، ابتدا پنجره ای برای Save کردن آن نمایش داده می شود.
سلام. ممنون از مطالب خوبتون. من زمانی که گزینه save رو میزنم خطا میگیره.
مثلا با نام sinx.m
علت چیه که سیو نمیشه؟
سلام.
لطفا متن خطا را ذکر نمایید.
سلام خسته نباشید
من نمی تونم در متلب (و) کوچک بنویسم متلب 2014
سلام ووقت بخیر
چرا بعداز علامت درصد ، وقتی متن توضیحی ، به فارسی می نویسم ، بعداز اینکه یکبار متلب رو می بندم و باز می کنم ،با علامت سوال نمایش داده می شه ؟
بسیار عالی لذت بردیم ممنون
فایل رو چطوری میشه در یک m file خواند؟ (من بعد از اینکه import کردم در m file قابل خوانده شدن نیست.)
سلام من یه کد نوشتم تو متلب اخرسر که میخاستم دستورsave رو بنویسم به جای اینکه پسوند .mat بذارم پسومند .m گذاشتم مثلا save Example.m حالا میخام اون فایل رو باز کنم می نویسه this is not enough memory to open in the editor چه جوری میتونم به متن کدم دسترسی پیداکنم؟ خیلی روش زحمت کشیده بودم.
سلام.
بنده اطلاعی ندارم که آیا خطای مورد نظر در متلب (MATLAB)، راه حل ساده ای دارد یا خیر (که با همان حجم کد، بتوانید فایل را باز کنید) (می توانید متن خطا را در گوگل جستجو کنید)، اما می توانم یک راه ساده برای دسترسی به کدها را به شما پیشنهاد کنم.
توصیه می شود به علت مهم بودن کدها، ابتدا یک کپی از فایل مورد نظر را در محلی از کامپیوتر خود نگه دارید (به عنوان Back up) و سپس به سراغ کار کردن با فایل بروید.
برای باز کردن فایل، دو روش زیر پیشنهاد داده می شود :
1- بر روی فایل، با موس، کلیک سمت راست نموده و گزینه Open with را انتخاب نمایید (موس را بر روی آن ببرید).
سپس از بین برنامه هایی که نمایش داده می شود، یک برنامه ویرایشگر متن (مثلا خود Notepad ویندوز) را انتخاب کنید تا محتوای فایل مورد نظر توسط آن برنامه نمایش داده شود (یا یک برنامه ویرایشگر متن حرفه ای تر).
اکنون با مشاهده کدها، می توانید تغییرات مورد نظرتان را بر روی آنها اعمال نمایید تا مناسب برای استفاده توسط متلب (MATLAB) باشد (یا اینکه بخشی از آن را کپی کنید).
2- در صورت تمایل، می توانید در خود محیط ویندوز، پسوند فایل را به پسوند txt تغییر دهید و بعد فایل را باز کنید (در این حالت، برنامه ویرایشگر متن پیش فرض در ویندوز، فایل را باز می کند، که البته آن برنامه پیش فرض را می توانید خودتان تغییر دهید). سپس هر زمان که بخواهید، می توانید پسوند فایل را به یک پسوند دلخواه دیگر تغییر دهید.
در کل، می توانید در محیط ویندوز، هر پسوند دلخواه را برای فایل مورد نظر انتخاب کنید.
سلام ببخشید من کد مورد نظرم رو داخل متلب نوشتم ولی وقتی دستورsol میزنم خطا میده پیغام خطا اینه که no feazible solution found ممنون میشم بفرمایید.
سلام
من قبلا فایل های متلب رو از هر درایوی می تونستم باز کنم اما جدیدا ورژن برنامه رو عوض کردم و دیگر فایل ها اجرا نمیشوند.
علاوه بر این ها وقتی یک کد سیو میشه و run میگیرم برای اجرای کد بعد همون کد قبل اجرا میشه.
واقعا دست مریزاد.آموزشتون عالی بود.لذت بردم.
و چقدر کارم رو راه انداخت.کوتاه،مفید،مختصر با مثال های به جا و درست
سلام من یه برنامه function نوشتم اسم تابع رو با اسم فایل یکی میزارم ارور میده مثلا
Function dl=get(n)اسم فایل هم get.mسیو میکنم ارور میده چکارکنم؟؟
سلام.
به وجود آمدن خطا به این دلیل است که خود نرم افزار متلب (MATLAB)، یک تابع (Function) با نام
get
دارد. بنابراین باید یک نام جدید برای تعریف تابع (Function) خود انتخاب نمایید.
بنابراین هم در کدهای تعریف تابع، نام تابع را تغییر دهید و هم m-file را با همان نام جدید انتخاب شده ذخیره نمایید.
در ضمن، کلید آموزشی زیر در مورد شیوه تعریف تابع (Function) توسط m-file می باشد :
سلام وقتتون بخیر
من وقتی run رو میزنم وبعد میخوام سیو کنم این پیام رو میده:
file not found
check the file name and try again
لطف میکنین راهنمایی کنین