بستن منو
۲۹۴
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
مباحث اولیه برای آشنایی با متلب
7
بردارها و ماتریس ها در متلب
47
دستورهای ساده و پرکاربرد در متلب
6
توابع در متلب
10
متغیرها و تبدیل متغیرها در متلب
8
m-file ها در متلب
2
نمایش اطلاعات در خروجی متلب (پنجره commands)
0
رسم شکل های دو بعدی در متلب
14
رسم شکل های سه بعدی در متلب
12
رسم چند شکل با هم، در متلب
5
رسم شکل ها و نمودارهای خاص، در متلب
11
رسم شکل های هندسی ساده، در متلب
6
تعیین ویژگی های خط های رسم شده در شکل، در متلب
6
تعیین ویژگی های محورهای مختصات شکل، در متلب
6
نمایش متن در شکل (عنوان، توضیح و ...)، در متلب
5
تعیین یا تغییر ویژگی های شکل (قبل از رسم شکل)، در متلب
10
تعیین یا تغییر ویژگی های شکل (بعد از رسم شکل)، در متلب
9
پردازش تصویر و کار با عکس ها، در متلب
13
ساخت انیمیشن در متلب
1
عملیات های ریاضی در متلب
42
متغیرها و معادلات سمبلیک در متلب
4
رشته ها (متن ها - strings) در متلب
14
حلقه ها (for و while)، در متلب
3
آرایه های سلولی (cell arrays) در متلب
6
خطاهای رایج در متلب
2
برنامه نویسی شیء گرا (object oriented programming) در متلب
1
سیمولینک (Simulink) در متلب
5
GUI و واسطه های گرافیکی، در متلب
5
کار با فایل ها و پوشه ها، در متلب
9
برنامه های متلب آماده برای دانلود
1
Excel و متلب
1
مباحث عمومی در متلب
23
×

دانلود فروشگاه اندروید کلیدستان

15

نویسنده

علیرضا گلمکانی ( admin )

شماره کلید
دسته کلید - دسته بندی

ساخت تابع در متلب با استفاده از m-file

در متلب با استفاده از دستور inline نیز می توان تابع ساخت، اما ساخت تابع با استفاده از m-file انتخابی حرفه ای تر می باشد. معمولا برنامه نویسان حرفه ای، چارچوب برنامه را در یک فایل اصلی می نویسند و بخش های مختلف برنامه را به صورت تابع هایی می نویسند که یک یا چند ورودی را دریافت کرده و محاسبات لازم را انجام می دهند و سپس یک یا چند خروجی را بر می گردانند. برنامه نویس، عملکرد هر تابع را جداگانه چک می کند و سپس زمانی که از بابت آنها خیالش راحت شد، تمرکز اصلی خود را بر روی فایل اصلی که حاوی چارچوب برنامه می باشد، می گذارد و تنها در فایل اصلی، ارجاعاتی به توابع ساخته شده خواهد داد.

چنانچه شما هم از این شیوه استفاده کنید، پس از مدتی صاحب بانکی از توابع خواهید شد که در نوشتن برنامه های جدید، بسیار به شما کمک می کند.

با مثالی ساده، نحوه ساخت یک تابع با استفاده از m-file را شرح می دهیم :

مثال

می خواهیم تابعی به نام add بسازیم که در ورودی، دو عدد را دریافت کرده و سپس مجموع آن دو عدد را در خروجی برگرداند. ابتدا یک m-file خالی باز می کنیم و کد زیر را در آن می نویسیم :


function [z] = add(x,y)
z=x+y;

در کد متلب بالا، کلمه function اعلام می کند که این m-file به صورت یک تابع می باشد. خروجی با نام z و دو ورودی با نام های x و y مشخص شده اند. کلمه ای که بعد از علامت تساوی قرار می گیرد (در اینجا کلمه add)، نام تابع را مشخص می کند و باید در مرحله بعد، m-file را دقیقا با همین نام ذخیره کنیم. بنابراین m-file را با نام add ذخیره می کنیم.

همان طور که مشاهده کردید، خط اول، ساختار تابع را مشخص می کند و در خط های بعدی، تنها کاری که باید انجام دهیم، این است که روابط بین ورودی ها و خروجی را تعریف کنیم که در این مثال، تنها یک جمع ساده می باشد.

پس از ذخیره کردن m-file ، دیگر کاری با آن نداریم. باید دقت کنید که اگر بخواهید این m-file را با گزینه Save and run در بالای پنجره، اجرا کنید، با یک خطا مواجه می شوید، زیرا این m-file یک تابع است و باید ورودی هایی برای آن تعریف کنیم.

اکنون باید تابع ساخته شده را تست کنیم. دستور زیر را در پنجره Command می نویسیم (و یا در یک m-file دیگر) :


B=2;
C=3;
A=add(B,C)

نتیجه :


A =
 
     5
نکته

باید m-file تابع درون Current folder و یا سایر مسیرهای مشخص شده برای نرم افزار متلب باشد. در غیر این صورت، متلب یک پیام خطا را نمایش می دهد. این پیام خطا، به این دلیل است که متلب نمی تواند m-file با نام add را پیدا کند.

نکته

در دستور فوق مشاهده کردیم که نام هایی که برای ورودی و خروجی تابع add استفاده کردیم (A و B و C)، با نام های درون خود کدهای تابع add ، متفاوت است (x و y و z). بنابراین احتیاجی نیست که نگران نام های به کار رفته در ساختار تابع باشید و از هر نام دلخواهی برای ارجاع به تابع می توانید استفاده کنید.

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

خوانده شد
مبحث بالا، مفید بود و سایت کلیدستان را دوست داشتم :
محبوب کردن این مبحث در گوگل :
اون چیزی که میخواستم نبود :
سوال دارم :
ارسال نظر :
نظرات 16 16 0
mjm
۱۳۹۵/۰۶/۰۷
۰۷:۱۰

سلام دوستان
واقعا از شما تشکر می کنم از سایت عالیتون.
چون دوستتون دارم و با سایتتون حال می کنم می خواستم یه پیشنهاد کوچولو بدم،
رنگ بندی سایتتون می تونه خیلی بهتر از این باشه 
و همچنین فرم و نحوه قرار گیری اشیا به زیبایی سایت خیلی کمک می کنه.
بازم ممنون 
ان شاءالله خدا خیرتون بده و موفق باشید
یا علی

رضا
۱۳۹۵/۰۶/۱۹
۰۲:۵۰

سلام
واقعا سایت خوب، کاربردی و "کار راه بنداز" راه انداختین    Smile
واقعا ممنون 
امیدوارم همیشه موفق و سربلند و هم چنان "کار راه بنداز" باشین   Smile

سهراب
۱۳۹۵/۰۶/۲۷
۰۱:۳۴

خیلی ممنون بابت این آموزش مفید

ali
۱۳۹۵/۰۷/۰۵
۱۳:۴۸

عالی هستین عزیزان

مازیار
۱۳۹۵/۰۸/۰۸
۱۳:۳۶

سلام
تشکر
عالی بود و کارم راه افتاد
فقط یه پیشنهاد داشتم و اونم اینکه ظاهر سایتتون خیلی کودکانه هستش. شاید اگه یکم بهش برسین و از چند گرافیست و طراح استفاده کنین خیلی خوب باشه.
باز هم تشکر

navid
۱۳۹۵/۰۸/۲۳
۱۱:۴۵

واقعا از سایت خوبتون ممنونم

نوشین
۱۳۹۵/۰۹/۰۹
۰۴:۰۸

سایتتون عالیه.ممنون ام.

شیما
۱۳۹۵/۱۲/۰۵
۱۱:۲۱

سلام
لطفا اگه میشه منو راهنمایی کنید. من میخوام 10 تا نقطه را به صورت تصادفی داخل یه مربع 5*5 قرار بدم و مختصات x و y اونهارو به دست بیارم حالا چجوری باید براش تابع بنویسم و اجراش کنم؟؟

admin
۱۳۹۵/۱۲/۰۵
۱۱:۴۰

سلام.
لطفا سوالات را در مبحث های با موضوع مشابه و یا در انجمن سایت مطرح نمایید.
مختصات x مربع را از 0 تا 5 در نظر می گیریم و مختصات y مربع را نیز از 0 تا در 5 در نظر می گیریم.
اکنون با استفاده از دستور rand (کلید شماره 21) که برای تولید اعداد تصادفی در متلب (MATLAB) به کار می رود، در یک حلقه for (کلید شماره 30)، مختصات x و y هر نقطه را به صورت یک عدد تصادفی بین 0 تا 5 تولید می کنیم و نقطه را بر اساس دو مختصات x و y آن رسم می کنیم (البته اگر ترسیم شکل مد نظرتان بوده).
در واقع، حلقه دارای 10 گام خواهد بود که در هر گام، یک نقطه تصادفی جدید می سازیم. 
برای نمایش یک یا چند نقطه در شکل، کلید شماره 151 را بخوانید.

Flower

شیما
۱۳۹۵/۱۲/۰۵
۱۲:۲۹

خیلی خیلی ممنون

neg-eng
۱۳۹۵/۱۲/۰۵
۱۳:۱۲

ممنونم ولی من میخوام با استفاده از ساخت تابع این کار را انجام بدم نه حلقه ی for ؟؟؟؟

admin
۱۳۹۵/۱۲/۰۵
۱۳:۴۴

سلام.
برای ساخت تابع، همین مبحث را بخوانید.

Flower

infinity90
۱۳۹۶/۰۳/۰۵
۱۷:۴۰

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

محمدی
۱۳۹۶/۰۳/۲۱
۲۰:۱۴

سلام ممنون میشم کمکم کنید تا این برنامه رو بتونم ران کنم
همش بهم خطا میده لاین 1 و لاین 7
من تازه کارم و این مثالو یکی از استادام نوشته ولی توی متلب نمیتونم رانش کنم
برام خیلی مهمه میشه کمکم کنید.
ممنون

کد پی‌اچ‌پی:
function [c,b,s] = eqn1(x,t,u,DuDx)
%
EQN1MATLAB function M-file that specifies
%a PDE in time and one space dimension.
1;
DuDx;
s=0;
function [
pl,ql,pr,qr] = bc1(xlulxr ,ur,t)
%
BC1MATLAB function M-file that specifies boundary conditions
%for a PDE in time and one space dimension.
pl ul;
ql 0;
pr ur-1;
qr=0;
function 
value initial1(x)
%
INITIAL1MATLAB function M-file that specifies the initial condition
%for a PDE in time and one space dimension.
value 2*x/(1+x^2);
%
PDE1MATLAB script M-file that solves and plots
%solutions to the PDE stored in eqn1.m
0;
NOTEm=0 specifies no symmetry in the problemTaking
m=1 specifies cylindrical symmetry, while m=2 specifies
spherical symmetry.
%
Define the solution mesh
linspace(0,1,20);
linspace(0,2,10);
%
Solve the PDE
pdepe(m,@eqn1,@initial1,@bc1,x,t);
%
Plot solution
surf
(x,t,u);
title('Surface plot of solution');
xlabel('Distance x');

ylabel('Time t');
figure 
plot
(x,u(1,:),'erase','xor')
for 
k=2:length(t)
set(fig,'xdata',x,'ydata',u(k,:))
pause(.5)
end 

ایران
۱۳۹۶/۰۳/۳۰
۱۰:۴۳

سلام ممنون
ساده و قابل فهم توضیح دادین، خدا خیرتون بده

حسن
۱۳۹۶/۰۴/۰۴
۱۹:۵۸

سلام و درود بر شما، سایتتان عالیه واقعا براتون آرزوی موفقیت و سلامتی دارم. با سپاس

*** نظر بدهید

دسترسی سریع

×

شماره کلید


کلید
×

شماره دسته کلید


دسته کلید
×

جستجو


جستجو

راهنمای دستورات متلب (MATLAB)

راهنمای دستورات متلب (MATLAB) بر اساس حرف اول دستور :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

بستن منو
۷۹
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
دسترسی سریع به دسته کلیدها :

Introduction to Programming with MATLAB Image Processing Using MATLAB
مجموعه ویدئوهای آموزشی مقدمه ای بر برنامه نویسی متلب (MATLAB) - مجموعه Introduction to Programming with MATLAB
42
مجموعه ویدئوهای آموزشی پردازش تصویر در متلب (MATLAB) - مجموعه Image Processing Using MATLAB
37
بستن منو
۳۳
تعداد کلیدهای این موضوع
لیست همه کلیدهای این موضوع
انواع رسم شکل در متلب
24
ساخت انیمیشن در متلب
3
GUI در متلب
6

آخرین ارسال های انجمن (در زمینه برنامه نویسی متلب)

آخرین ارسال های انجمن (در زمینه برنامه نویسی متلب)
موضوع تاریخ و زمان نویسنده آخرین ارسال تعداد پاسخ انجمن
ارور Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND =
۱۳۹۶/۰۴/۲۹, ۰۶:۵۹ ب.ظ
farhads
farhads
0 بردارها و ماتریس ها در متلب (MATLAB)
باز کردن فایلهای با پسوند grib2 در متلب
۱۳۹۶/۰۴/۲۷, ۰۵:۰۹ ب.ظ
leilisadeghi
leilisadeghi
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
حل معادله درجه n (متلب - MATLAB)
۱۳۹۶/۰۴/۲۴, ۱۲:۳۵ ق.ظ
Mohammadrezabaradaran
Mohammadrezabaradaran
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
سوال در مورد کد نویسی متلب
۱۳۹۶/۰۴/۱۸, ۰۷:۲۵ ب.ظ
mah
mah
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
مشکل در حلقه for (متلب - MATLAB)
۱۳۹۶/۰۴/۱۳, ۰۱:۴۸ ب.ظ
Ali1885
maryam_f123
3 سوال و جواب در مورد نرم افزار متلب (MATLAB)
به دست آوردن ریشه اعداد مختلط (متلب - MATLAB)
۱۳۹۶/۰۳/۲۹, ۰۶:۵۴ ب.ظ
saeid.deh
admin
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
معرفی کتاب
۱۳۹۶/۰۳/۱۹, ۰۹:۳۰ ب.ظ
s.saeid
missHakimi
2 معرفی کتاب های مرتبط با نرم افزار متلب (MATLAB)
انتخاب مقادیر مرجع
۱۳۹۶/۰۳/۱۷, ۰۲:۴۱ ب.ظ
soheiljj25
soheiljj25
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
درخواست دانلود مقاله از سایت های مرجع
۱۳۹۶/۰۳/۱۵, ۰۳:۳۹ ب.ظ
admin
aydafhm70
1 معرفی کتاب های مرتبط با نرم افزار متلب (MATLAB)
live script چیست؟
۱۳۹۶/۰۳/۱۵, ۰۳:۳۷ ب.ظ
aaalian
aydafhm70
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
موتور مغناطیس دایم
۱۳۹۶/۰۳/۱۴, ۱۱:۴۹ ق.ظ
soheiljj25
soheiljj25
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
موتور BLDC
۱۳۹۶/۰۳/۱۴, ۱۱:۰۹ ق.ظ
soheiljj25
soheiljj25
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
خطای double
۱۳۹۶/۰۳/۱۲, ۰۹:۱۰ ب.ظ
اندیشه برتر
اندیشه برتر
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
رسم چند نمودار در متلب
۱۳۹۶/۰۳/۰۸, ۰۴:۲۲ ب.ظ
vahid397
admin
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
تبدیل قطبی به دکارتی و برعکس در متلب
۱۳۹۶/۰۳/۰۸, ۱۰:۱۲ ق.ظ
hossein373
m-r-v
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
وارد کردن یک فایل متنی به عنوان ورودی یک کد (متلب - MATLAB)
۱۳۹۶/۰۳/۰۱, ۱۰:۲۲ ب.ظ
shadi_sh
shadi_sh
2 سوال و جواب در مورد نرم افزار متلب (MATLAB)
مشکل در کاربرد سیمبولیک
۱۳۹۶/۰۲/۳۱, ۱۲:۵۱ ب.ظ
NIMANIMAX72
NIMANIMAX72
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
مخفی کردن چند خط از کد در MATLAB
۱۳۹۶/۰۲/۳۰, ۰۹:۱۳ ق.ظ
fa_shinobi
admin
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
محاسبه مجموع چند عدد با حلقه for و while
۱۳۹۶/۰۲/۱۹, ۱۰:۲۷ ق.ظ
farhad1793
m-r-v
3 سوال و جواب در مورد نرم افزار متلب (MATLAB)
مشکل در استفاده از دستور if و while
۱۳۹۶/۰۲/۱۷, ۰۷:۲۱ ب.ظ
farhad1793
m-r-v
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
ایجاد پالس فشار
۱۳۹۶/۰۲/۱۷, ۰۷:۰۷ ب.ظ
zahra90
m-r-v
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
معدل گیری در متلب
۱۳۹۶/۰۲/۱۷, ۰۵:۲۲ ب.ظ
farhad1793
farhad1793
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
sphere-topography
۱۳۹۶/۰۲/۱۶, ۰۸:۴۴ ب.ظ
arminfahandezh
arminfahandezh
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
توربین بادی
۱۳۹۶/۰۲/۱۶, ۱۲:۲۱ ب.ظ
Pars
m-r-v
1 سوال و جواب در مورد نرم افزار متلب (MATLAB)
فیلتر پایین گذر ایده آل
۱۳۹۶/۰۲/۱۲, ۰۲:۲۰ ق.ظ
Ali1885
Ali1885
0 سوال و جواب در مورد نرم افزار متلب (MATLAB)
مشاهده 1000 ارسال آخر انجمن (در زمینه برنامه نویسی متلب)

آخرین کلیدهای غیررایگان

شما هم می توانید کلیدهای غیررایگان منتشر کنید (بیشتر بدانید)