برنامه‌نویسی و اسکریپت نویسی در متلب (قسمت ششم)

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

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

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

edit plotrand

این دستور، یک فایل خالی با نام plotrand.m باز می‌کند. کدی را وارد کنید که بردار یک داده تصادفی را ترسیم می‌کند:

n = 50;

r = rand(n,1);

plot(r)

سپس، کدی را اضافه کنید که یک خط افقی را در پلات در سطح میانی قرار دهد:

m = mean(r);

hold on

plot([0,n],[m,m])

hold off

title(‘Mean of Random Uniform Data’)

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

% Generate random data from a uniform distribution

% and calculate the mean. Plot the data and the mean.

n = 50;            % 50 data points

r = rand(n,1);

plot(r)

% Draw a line from (0,m) to (n,m)

m = mean(r);

hold on

plot([0,n],[m,m])

hold off

title(‘Mean of Random Uniform Data’)

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

plotrand

همچنین می‌توانید اسکریپت‌ها را از ویرایشگر با فشار دادن دکمه Run، اجرا کنید.

حلقه‌ها و عبارات شرطی

در یک اسکریپت، می‌توانید بر روی بخش‌های‌ کد، حلقه ایجاد کنید و به‌صورت شرطی بخش‌ها را با استفاده از کلمات کلیدی forwhileif و switch اجرا کنید.

برای مثال، یک اسکریپت به اسم  calcmean.m ایجاد کنید که از لوپ for برای محاسبه میانگین پنج نمونه تصادفی و میانگین کل استفاده می‌کند.

nsamples = 5;

npoints = 50;

for k = 1:nsamples

    currentData = rand(npoints,1);

    sampleMean(k) = mean(currentData);

end

overallMean = mean(sampleMean)

حالا، لوپ for را تغییر دهید تا بتوانید نتایج را در هر تکرار مشاهده کنید. متن را در پنجره فرمان که شامل تعداد تکرار فعلی است نشان دهید و نقطه‌ویرگول را از sampleMean حذف کنید.

for k = 1:nsamples

   iterationString = [‘Iteration #’,int2str(k)];

   disp(iterationString)

   currentData = rand(npoints,1);

   sampleMean(k) = mean(currentData)

end

overallMean = mean(sampleMean)

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

calcmean

Iteration #1

sampleMean =

    0.3988

Iteration #2

sampleMean =

    0.3988    0.4950

Iteration #3

sampleMean =

    0.3988    0.4950    0.5365

Iteration #4

sampleMean =

    0.3988    0.4950    0.5365    0.4870

Iteration #5

sampleMean =

    0.3988    0.4950    0.5365    0.4870    0.5501

overallMean =

    0.4935

در ویرایشگر، عبارات شرطی را به انتهای calcmean.m اضافه کنید که پیام متفاوتی را بسته به مقدار overallMean نشان می‌دهد.

if overallMean < .49

   disp(‘Mean is less than expected’)

elseif overallMean > .51

   disp(‘Mean is greater than expected’)

else

   disp(‘Mean is within the expected range’)

end

calcmean را اجرا کنید و مطمئن شوید که پیام صحیح برای overallMean محاسبه‌شده نمایش داده می‌شود. مثلاً:

overallMean =

    0.5178

Mean is greater than expected

مکان‌های اسکریپت

نرم‌افزار متلب به دنبال اسکریپت‌ها و فایل‌های دیگر در مکان‌های خاص است. برای اجرای یک اسکریپت، فایل باید در پوشه جاری یا در یک پوشه در search path باشد.

به‌طور پیش‌فرض، پوشه MATLAB که خود متلب ایجاد می‌کند در مسیر جستجو است. اگر می‌خواهید برنامه‌ها را در پوشه دیگری ذخیره و اجرا کنید، آن را به مسیر جستجو اضافه کنید. پوشه را از مرورگر Current Folder انتخاب کنید، راست کلیک کنید، و سپس Add to Path را انتخاب کنید.

 

 

 

پرسش و پاسخ درباره برنامه‌نویسی و اسکریپت‌نویسی در متلب (قسمت ششم)

1. برنامه‌نویسی در متلب چیست و چه کاربردهایی دارد؟
برنامه‌نویسی در متلب به معنای نوشتن کدهایی است که متلب (MATLAB) برای انجام محاسبات عددی، تحلیل داده‌ها، شبیه‌سازی‌ها، و تولید گراف‌ها استفاده می‌کند. متلب یک زبان برنامه‌نویسی سطح بالا است که مخصوص محاسبات ریاضی و مهندسی طراحی شده است و در زمینه‌های مختلفی از جمله پردازش سیگنال، پردازش تصویر، تحلیل داده، و شبیه‌سازی سیستم‌ها کاربرد دارد.


2. اسکریپت‌نویسی در متلب چیست؟
اسکریپت‌نویسی در متلب به نوشتن کدهایی اطلاق می‌شود که به صورت خطی و بدون ورودی و خروجی تابع اجرا می‌شوند. اسکریپت‌ها معمولاً مجموعه‌ای از دستورات متلب هستند که در یک فایل متنی با پسوند .m ذخیره می‌شوند و به صورت پیوسته اجرا می‌شوند. اسکریپت‌ها برای انجام محاسبات و تحلیل‌های سریع استفاده می‌شوند.


3. تفاوت بین اسکریپت و تابع در متلب چیست؟

  • اسکریپت: کدی است که به صورت خطی اجرا می‌شود و معمولاً ورودی یا خروجی ندارد. اسکریپت‌ها بیشتر برای انجام تحلیل‌های ساده یا فرآیندهای تکراری استفاده می‌شوند.
  • تابع: یک مجموعه از دستورها است که می‌تواند ورودی و خروجی داشته باشد و می‌تواند برای انجام محاسبات پیچیده‌تر و انعطاف‌پذیرتر استفاده شود. توابع در متلب معمولاً با پسوند .m ذخیره می‌شوند و می‌توانند در اسکریپت‌ها و برنامه‌های دیگر فراخوانی شوند.

4. چگونه می‌توان یک اسکریپت در متلب نوشت؟
برای نوشتن یک اسکریپت در متلب، کافی است یک فایل جدید با پسوند .m باز کنید و کدهای خود را وارد کنید. پس از نوشتن کد، می‌توانید با استفاده از دکمه “Run” یا تایپ نام اسکریپت در Command Window، آن را اجرا کنید. یک اسکریپت معمولی ممکن است به این شکل باشد:

a = 5;
b = 10;
c = a + b;
disp(c)

5. چگونه می‌توان تابعی در متلب نوشت؟
برای نوشتن یک تابع در متلب، باید یک فایل جدید با پسوند .m بسازید و ابتدا کلمه function را بنویسید. سپس نام تابع، ورودی‌ها و خروجی‌های آن را تعریف کنید. به عنوان مثال:

function result = addNumbers(a, b)
    result = a + b;
end

در اینجا، addNumbers نام تابع است و a و b ورودی‌های آن هستند که جمع آن‌ها در خروجی result ذخیره می‌شود.


6. چطور می‌توان پارامترهای ورودی و خروجی را در تابع متلب تعریف کرد؟
در متلب، پارامترهای ورودی و خروجی را می‌توان در داخل بدنه تابع مشخص کرد. ورودی‌ها معمولاً در داخل پرانتز پس از نام تابع تعریف می‌شوند و خروجی‌ها در سمت چپ علامت = قرار می‌گیرند. مثال:

function [sum, product] = mathOperations(a, b)
    sum = a + b;
    product = a * b;
end

در اینجا، تابع mathOperations دو ورودی (a و b) و دو خروجی (sum و product) دارد.


7. چگونه می‌توان یک اسکریپت را به صورت خودکار در متلب اجرا کرد؟
برای اجرای خودکار یک اسکریپت در متلب، می‌توانید آن را از طریق یک فایل Batch یا Task Scheduler (در ویندوز) برنامه‌ریزی کنید. همچنین، در محیط متلب می‌توانید از دستور timer برای زمان‌بندی اجرای یک اسکریپت استفاده کنید. به عنوان مثال:

t = timer('ExecutionMode', 'fixedRate', 'Period', 5, 'TimerFcn', @myFunction);
start(t);

این کد اسکریپتی را هر 5 ثانیه یکبار اجرا می‌کند.


8. چطور می‌توان متغیرها را در متلب تعریف و مقداردهی کرد؟
برای تعریف و مقداردهی به متغیرها در متلب، کافی است نام متغیر را وارد کنید و به آن یک مقدار اختصاص دهید. متلب به طور خودکار نوع داده متغیر را تشخیص می‌دهد. مثال:

x = 10;   % یک متغیر عددی
y = 'hello';  % یک متغیر متنی
z = [1, 2, 3, 4];  % یک آرایه

9. آیا می‌توان از دستور if و for در اسکریپت‌ها و توابع متلب استفاده کرد؟
بله، متلب از دستورات شرطی if و حلقه‌های تکرار for به طور گسترده پشتیبانی می‌کند. برای مثال، از دستور if برای تصمیم‌گیری و از for برای اجرای تکراری استفاده می‌شود:

x = 5;
if x > 0
    disp('عدد مثبت است');
else
    disp('عدد منفی یا صفر است');
end

for i = 1:5
    disp(i)
end

این کد ابتدا بررسی می‌کند که آیا x مثبت است یا نه و سپس مقادیر 1 تا 5 را چاپ می‌کند.


10. چه منابعی برای یادگیری بیشتر برنامه‌نویسی و اسکریپت‌نویسی در متلب وجود دارد؟
برای یادگیری بیشتر برنامه‌نویسی و اسکریپت‌نویسی در متلب، منابع متعددی وجود دارد:

  • مستندات رسمی متلب: سایت MathWorks شامل مستندات کامل و مثال‌های مفید است.
  • کتاب‌های آموزشی: کتاب‌هایی مانند “MATLAB for Engineers” یا “MATLAB: A Practical Introduction to Programming” می‌توانند منابع خوبی باشند.
  • دوره‌های آنلاین: وب‌سایت‌هایی مانند Coursera، edX و Udemy دوره‌های آموزشی متلب را برای سطوح مختلف ارائه می‌دهند.
  • فروم‌های آنلاین: انجمن‌ها و فروم‌های تخصصی مانند Stack Overflow و MathWorks Forum می‌توانند به حل مشکلات و پرسش‌های شما کمک کنند.
5/5 - (1 امتیاز)

مقالات مرتبط

ثبت سفارش

  • این فیلد برای اعتبار سنجی است و باید بدون تغییر باقی بماند .