تعریف تابع در متلب (ساده ترین روش)
یک تابع بلوکی از چند دستور است که کار خاصی انجام می دهند. توابع امکان استفاده مجدد از کدها را برای کاربر فراهم می کنند. متلب (MATLAB) توابع از پیش تعریف شده زیادی دارد که قابل استفاده هستند مانند sin()، fact()،cos() و … . علاوه بر اینها کاربر می تواند توابع مورد نظر و سفارشی خود را نیز تعریف کنند.
ساختار
function پارامترهای خروجی = نام تابع(پارامترهای ورودی)
% دستورات
end
نمونه زیر را ببینید:
function max = mymax(n1, n2, n3, n4, n5)
%This function calculates the maximum of the
% five numbers given as input
max = n1;
if(n2 > max)
max = n2;
end
if(n3 > max)
max = n3;
end
if(n4 > max)
max = n4;
end
if(n5 > max)
max = n5;
end
- تابع با کلمه کلیدی function شروع می شود.
- سپس متغیرهای برگشتی از تابع تعریف می شوند.
- پس از = نام تابع نوشته می شود.
- داخل پرانتز آرگومان های ورودی تابع نوشته می شود.
در ادامه چند مثال برای آشنایی با نحوه استفاده از توابع در متلب آورده شده است.
مثال 1: تابع با یک خروجی
تابع زیر میانگین بردار ورودی را محاسبه می کند.
% Input vector
values = [12, 4, 8.9, 6, 3];
% function return mean of vector c
function m = stat(x)
n = length(x);
m = sum(x)/n;
end
mean = stat(values)
خروجی
mean = 6.7800
مثال 2: تابع با چند مقدار بازگشتی
تابع زیر nCr و nPr را برای ورودی های n و r را محاسبه می کند.
% Input
x = 3;
y = 2;
% Function return p = nPr and c = nCr
function [p,c] = perm(n,r)
p = factorial(n)/factorial(n-r);
c = p*factorial(r);
end
[p,c] = perm(x,y)
خروجی
p = 6
c = 12
کجا و به چه دلیل باید از نرم افزار متلب استفاده کنیم یا نکنیم؟
مثال 3: چند تابع در یک فایل
دو تابع زیر در فایل تعریف می شوند:
- تابع ()stat2 انحراف معیار استاندارد بردار ورودی را محاسبه می کند.
- تابع ()stat1 میانگین بردار ورودی را محاسبه می کند.
values = [12, 4, 8.9, 6, 3];
% Function returns standard deviation of vector x
function sd = stat2(x)
m = stat1(x);
n = length(x)
sd = sqrt(sum((x-m).^2/n));
end
% Function returns mean of vector x
function m = stat1(x)
n = length(x);
m = sum(x)/n;
end
stat2(values)
خروجی
n = 5
ans = 3.2975
مثال 4: تابع بدون پرامترهای ورودی
در این مثال تابع ()sin_plot برای ترسیم تابع ()sin را تعریف شده است.
% Plotting sin(x) function
function sin_plot()
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y);
end
sin_plot()
خروجی
حتما دانلود کنید: آموزش کامل برنامه نویسی در متلب (22 جلسه رایگان به زبان فارسی)