جلسه هشتم: برنامه‌نویسی و اسکریپت‌ها

درسنامه درس 8 از سری شروع بکار در متلب
آموزش اسکریپت برنامه نویسی متلب

اسکریپت ها در متلب ساده ترین نوع برنامه های تولیدی توسط متلب هستند. یک اسکریپت فایلی است که شامل چند خط پشت سر هم از دستورات و توابع متلب می شود. شما می توانید یک اسکریپت را با تایپ نام آن در خط فرمان برنامه اجرا کنید.

اسکریپت ها در متلب

برای ایجاد یک اسکریپت، از دستور edit استفاده کنید.

edit mysphere

این دستور یک فایل خام با نام mysphere.m ایجاد خواهد کرد. چند کد برای ایجاد یک کره واحد، سپس دو برابر کردن شعاع و رسم نتیجه درج می کنیم:

[x,y,z] = sphere;

r = 2;

surf(x*r,y*r,z*r)

axis equal

سپس کدی را که مساحت سطح و حجم کره را محاسبه کند، اضافه می کنیم:

A = 4*pi*r^2;

V = (4/3)*pi*r^3;

هرگاه در حال کدنویسی بودید، بهتر است که کامنت هایی را که کد شما را توضیح می دهند به متن اضافه کنید. کامنت ها امکان فهم راحت کد شما برای بقیه و یا یادآوری روند کد به خود شما در صورت بازگشت به آن پس از مدتی را فراهم خواهند کرد. شما می توانید با استفاده از علامت درصد (%) به قرار دادن کامنت در هر قسمت و خطی از برنامه بپردازید.

% Create and plot a sphere with radius r.

[x,y,z] = sphere;       % Create a unit sphere.

r = 2;

surf(x*r,y*r,z*r)       % Adjust each dimension and plot.

axis equal              % Use the same scale for each axis.

% Find the surface area and volume.

A = 4*pi*r^2;

V = (4/3)*pi*r^3;

شما می توانید فایل اسکریپت نوشته شده را با استفاده از دکمه save در بخش file از تب editor و یا با استفاده از میانبر ctrl + s ذخیره کنید. از این پس در صورتی که در همین فولدر در حال کار باشید با نوشتن نام فایل، اسکریپت مورد نظراجرا خواهد شد:

mysphere

همچنین می توانید با استفاده از دکمه Run آموزش اجرا اسکریپت متلب در بخش run از تب editor و یا با استفاده از میانبر F5، اسکریپت نوشته شده را اجرا نمایید.

اسکریپت های زنده

بجای نوشتن کد و کامنت ها در یک متن ساده، شما می توانید از امکانات تعبیه شده جهت تنظیم استایل متن در Live Scripts برای تقویت کد خود استفاده کنید. لایو اسکریپت اجازه مشاهده و تعامل بین کد و خروجی را در کنار متن، معادلات و تصاویر به صورت تنظیم شده به شما می دهد.

برای مثال، جهت تبدیل اسکریپتی که جلسه قبل نوشتیم (mysphere) به اسکریپت زنده، کافیست با انتخاب Save As و تغییر فرمت فایل به صورت کد زنده متلب (*.mlx) این کار را انجام دهیم. سپس می توانید کامنت های کد خود را با متن های قالب دهی شده جایگذاری کنید. برای نمونه:

خطوط کامنت را به متن تبدیل کنید. هر کدام از خط هایی که با علامت درصد شروع می شوند را انتخاب و سپس دکمه Text آموزش متلب را از بخش Text تب Live Editor انتخاب کنید. حال علامت درصد را حذف نمایید. بهتر است کامنت هایی که در آخر کدهای نوشته شده قرار داده بودیم، حذف کنیم. برای مشخص کردن عنوان توابعی که در متن توضیحات می آوریم بهتر است با تبدیل فونت نام آن ها به monospace با کلید آموزش متلب ، ظاهر این عبارات را تغییر دهیم. همچنین برای درج فرمول به متن می توان از گزینه Equation در تب Insert استفاده کرد.

آموزش اسکریپت زنده متلب

برای تولید یک اسکریپت زنده جدید با استفاده از کد edit کافیست از پسوند .mlx به جای نام فایل استفاده کنید:

edit newfile.mlx

حلقه ها و دستورات شرطی

در هر اسکریپت شما می توانید قسمت هایی را پیدا کنید که یا در یک حلقه تکرار شده اند و یا اجرای آن مشروط به شرایطی بوده است. حلقه ها از کلیدواژه ی for ویا while استفاده می کنند؛ همچنین دستورات شرطی از if و switch استفاده می کنند.

روش استفاده از حلقه for به صورت زیر می باشد:

for index = values

statements

end

که در اینجا index متغیر شمارشگر، values بازه اعدادی که توسط شمارشگر شمرده خواهند شد و statements دستوراتی است که در هر بار تکرار اجرا می شود.

حلقه ها برای ایجاد دنباله ها مفید هستند. برای مثال، اسکریپتی با نام fibseq ایجاد می کنیم که از یک حلقه for برای محاسبه 100 عدد از سری فیبوناچی استفاده می کند. در این سری دو عدد اول 1 هستند و اعداد بعدی جمع دو رقم قبلی می باشند Fn = Fn-1 + Fn-2.

N = 100;

f(1) = 1;

f(2) = 1;

for n = 3:N

       f(n) = f(n-1) + f(n-2);

end

f(1:10)

زمانی که اسکریپت نوشته شده را اجرا می کنید؛ دستور for از یک شمارشگر با نام n استفاده کرده، از عدد 3 شروع به شمارش می کند و حلقه پشت سر هم مقادیر (f(n را محاسبه می کند. مقدار شمارشگر n هر مرتبه یک واحد افزایش یافته تا این که به عدد 100 برسد. آخرین دستور اسکریپت، (f(1:10، مقادیر 10 المان اول f را نمایش خواهد داد.

ans =

         1     1     2     3     5     8    13    21    34    55

روش استفاده از دستور if به صورت زیر می باشد:

if expression

    statements

elseif expression

    statements

else

    statements

end

که در اینجا expression شرط هر قسمت بوده و statements دستوراتی است که در صورت صادق بودن شرط اجرا می شود. دستور elseif می تواند برای چندین شرط تکرار شود.

دستورات شرطی تنها زمانی اجرا می شوند که شرط قرار داده شده برای آن ها صحیح باشد. برای مثال، مقدار یک متغیر را که به صورت تصادفی از اعداد کوچکتر از 100 انتخاب شده است در نظر بگیرید. می خواهیم این مقدار را با توجه به کوچکی و بزرگی در بین سه دسته 'low'، 'medium' و 'high' جای دهیم.

num = randi(100)

if num < 34

   sz = 'low'

elseif num < 67

   sz = 'medium'

else   sz = 'high'

end

دستور sz = 'high' زمانی اجرا می شود که مقدار num، بزرگتر یا مسای 67 باشد.

محل اسکریپت

متلب به دنبال اسکریپت ها و مابقی فایل ها در فولدر در حال کار خود می گردد. برای اجرای یک اسکریپت، فایل آن باید در فولدر کنونی پنجره Currnet Folder و یا یکی از فولدرهای search path وجود داشته باشد

به صورت پیش فرض فولدر MATLAB که در هنگام نصب برنامه ایجاد شده است در قسمت search path وجود دارد. اگر می خواهید برنامه هایتان را در مسیر دیگری ذخیره و اجرا کنید، آن را به این بخش اضافه کنید. برای این کار، پوشه مورد نظر را در Current Folder انتخاب کرده، راست کلیک کنید و کلید Add to Path را فشار دهید.


منبع: سایت MathWorks

تمام فصل‌های سری ترتیبی که روکسو برای مطالعه‌ی دروس سری شروع بکار در متلب توصیه می‌کند:
نویسنده شوید
دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.

ما را دنبال کنید
اینستاگرام روکسو تلگرام روکسو ایمیل و خبرنامه روکسو