فراخوانی تابع در متلب (matlab functions)

توابع متلب

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

تابع sum در متلب

تابع sum در واقع جمع کننده می باشد و هر موقع بخواهید از جمع چند ماتریس استفاده کنید کافیست از این تابع بهره بگیرید. به عنوان مثال فرض کنید یک ماتریسی به صورت a=[1 5 4 7] دارید و می خواهید همه ی درایه های آن را با هم جمع نماید کافیست از دستور زیر برای این کار استفاده نمایید (sum(a که شکل زیر نتیجه ی این عمل را نشان می دهد.

sum-function

یعنی به جای اینکه بنویسید ۱+۵+۴+۷ و کد نویسی متلب را پیچیده نمایید به سادگی با استفاده از sum این عمل صورت می گیرد. برای ماتریس های بیش از یک سطر و ستون هم همین عمل صادق است ولی در این حالت درایه ها به صورت ستونی با هم جمع خواهند شد. که شکل زیر نیز بیان گر این موضوع است.

تابع sum در متلب

حال اگر بخواهید در یک درایه نمایش دهد یعنی کل درایه های یک ماتریس دو بعدی را جمع کرده و در یک درایه نشان دهد باید از ((sum(sum(a استفاده نمایید.

تابع جمع در متلب

می بینید که به ازای جمع هر بعد ماتریس، به یک sum نیاز داریم یعنی اگر ماتریس یک بعدی باشد، یک sum و اگر n بعدی باشد به n تا sum نیاز خواهیم داشت تا همه ی درایه ها را با هم جمع کرده و در یک ماتریس ۱*۱ نمایش دهد.

اگر بخواهید درایه های یک سطر با هم جمع شوند و یک ماتریس دیگر آن را نمایش دهد باید از (sum(a,2 استفاده نمایید. در واقع عدد ۲ نشان ستونی کردن تابع sum می باشد.

تابع در متلب

همان طور که مشاهده می کنید (sum(a,2 ماتریس حاصل را ستونی نمایش می دهد.

مثال: می خواهیم حاصلجمع اعداد از ۱ تا ۱۰۰۰ را محاسبه کنیم. کافیست دستور زیر را در متلب وارد نماییم که به راحتی اینکار صورت می گیرد. (Sum(1:1000 که در ریاضی از فرمول n*(n-1)/2 برای این کار استفاده می شود.

تابع جمع کردن در هزینه

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

توابع متلب

تابع rand در متلب

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

تابع rand در متلب

اگر بخواهیم اعداد تصادفی حاصلی به صورت ماتریس مربعی با مرتبه دلخواه ظاهر شود کافیست داخل تابع rand مرتبه ماتریس را بنویسم. به عنوان مثال می خواهیم اعداد بین صفر و یک را در یک ماتریس ۵*۵ داشته باشیم. شکل زیر این مورد را نشان می دهد.

تابع rand

حال اگر هدفتان تولید عددی بین صفر و یک عدد دلخواه باشد کافیست تابع rand را در آن ضرب کنید. به عنوان مثال یک ماتریس مربعی با مرتبه ی ۳ نیاز دارید که اعداد داخل آن بین صفر و ۵ باشد در این صورت کافیست دستور زیر را وارد نمایید. (۵*rand(3 که نتیجه در شکل زیر ارائه شده است.

 

انواع توابع در متلب

می توانید این کار را برای ماتریس های مختلف انجام دهید. به عنوان مثال یک ماتریس سه در چهار حاوی اعداد بین صفر و یک نیاز دارید کافیست دستور زیر را برای آن تایپ کنید (rand(3,4 که نتیجه حاصل در شکل زیر گنجانده شده است.

matlab-function

در زیر شاخه تابع rand تابع دیگری به نام randi وجود دارد که i در انتهای آن نشان دهنده ی integer یعنی عدد صحیح می باشد. در واقع شما می توانید با استفاه از این تابع یک ماتریس یا عدد صحیح بین هر بازه ای که بخواهید تولید کنید. تعریف تابع randi به صورت زیر می باشد:

(Randi([minimum,maximum],line,column

یعنی در [] مقدار حداقل و حداکثری که می خواهیم اعداد بین آن ها باشد را قرار می دهیم. و در سطر و ستون تعداد سطر و ستون ماتریس مورد نظر را قرار خواهیم داد.

به عنوان مثال می خواهید یک ماتریس ۳ در ۴ حاوی اعداد صحیح بین ۵ و ۲۰ داشته باشید کافیت از دستور زیر استفاده نمایید (randi([5 20],3,4 که نتیجه را در زیر می بینید.

rand-function

در این قسمت هم مشاهده می کنید نوشتن” , ”مهم نیست.

تابع diag در متلب

تابع diag برای قطری کردن داده ها استفاده می شود. به عنوان مثال فرض کنید یک ماتریسی همانند[  a=[1 2 5 4 دارید و می خواهید یک ماتریسی توسط آن تولید نمایید که قطرهای اصلی آن داده های این ماتریس باشند که شکل زیر نشان دهنده ی این موضوع است.

diag-function-matlab

اگر بخواهید یک ستون بعد شروع گردد کافیست دستور زیر را وارد نمایید (diag(a,1 که نتیجه به صورت زیر حاصل می شود.

تابع diag در متلب

در واقع کار تابع diag، با قطر اصلی ماتریس­ها می باشد. اگر یک ماتریس دیگری هم داشته باشید و بخواهید قطر اصلی آن را استخراج نمایید از این تابع می توانید استفاده نمایید. به عنوان مثال یک ماتریس  فرص کنید یک ماتریس(a=randi([4 12],4,4 دارید و میخواهید درایه های قطر اصلی آن را استخراج کنید در این صورت کافی است از (diag(a استفاده نمایید که در شکل زیر نمایش داده شده است.

تابع rand

حال اگر بخواهید از همین داده­ های به دست آمده یک ماتریس قطری بسازید کافیست دستور زیر را اعمال نمایید ((diag(diag(a که نتیجه به صورت زیر حاصل می شود.

تابع diag متلب

تابع round در متلب

یکی دیگر از توابع پر کاربرد در متلب تابع round می باشد که کار round کردن به صورت ریاضی را انجام خواهد داد. به عنوان مثال اگر عدد ۳.۱ به این تابع داده شود تابع آن را ۳ می خواند و اگر مقدار ۳.۶ به آن اعمال شود تبدیل به ۴ خواهد شد برای ۳.۵ نیز عدد ۴ را به عنوان خروجی خواهد داد. به عنوان مثال می خواهید round ماتریس a=[1.11 2.54; 3.5 -1.4] را استخراج کنید که نتیجه در زیر نمایش داده شده است.

round-function

گاهی میخواهید یک عددی را round کنید به شرطی که تا ۳ یا ۴ رقم اعشار نمایش داده شود در این صورت از دستور (round(adad,3ya4ya استفاده نمایید به عنوان مثال میخواهید عدد ۴.۵۷۴۸۱۲۵ را round کنید به شرطی که تا ۴ رقم اعشار نشان داده شود. در این صورت کافی است از دستور (round(4.5748125,4 استفاده نمایید که نتیجه را ملاحظه می کنید.

تابع round در متلب

گاهی یک عدد بسیار بزرگی دارید و نمیخواهید قسمت های یکان و دهگان و… آن را نشان دهید به عنوان مثال عدد ۱۲۵۴۸۷ را در نظر بگیرید و دیگر نمیخواهید یکان و دهگان نشان داده شود و صفر به جای آن قرار داده شود یعنی تبدیل به ۱۲۵۴۰۰ شود در اینصورت از دستور( round(125487,-2 استفاده می کنید.

round-function-matlab

 

تابع floor در متلب

این تابع به معنای round است ولی همیشه به سمت پایین عمل می کند به عنوان مثال اگر عدد ۲.۶ هم به آن داده شود تبدیل به ۲ خواهد شد نه ۳، مثالی را برای استفاده از این تابع در یک ماتریس فرض در شکل زیر مشاهده می کنید.

floor-function

تابع ceil در متلب

فراخوانی تابع در متلب  هر عدد ورودی را به نزدیک ترین عدد صحیح و بزرگ تر از خودش تبدیل می کند. به عنوان مثال اگر ۲.۴ به آن وارد شود خروجی ۳ خواهد شد و اگر ۱.۹- به آن وارد شود عدد ۱- خروجی آن خواهد شد. شکل زیر نیز نمونه ای از عملکرد این تابع را نشان می دهد.

تابع ceil در متلب

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

 

اگر رشته ی شما مهندسی برق می باشد، به شما پیشنهاد می کنیم از فایل ویدیویی “آموزش الگوریتم ژنتیک در مهندسی برق” ما در لینک زیر استفاده کنید. که حاوی سرفصل های زیر می باشد:

1- مقدمات متلب همه ی موارد بالا و آموزش کامل متلب از مقدماتی تا پیشرفته با مثال های متنوع

2- پخش بار پسرو – پیشرو

3- الگوریتم ژنتیک

4- جایابی خازن و منابع تولید پراکنده و هر دو به صورت همزمان

این آموزش حدود 7 ساعت توسط مهندس ” سید باقر مرتضویان” فارغ التحصیل کارشناسی ارشد مهندسی برق قدرت از دانشگاه علم و صنعت برای آموزش کامل الگوریتم ژنتیک و کاربرد آن در مهندسی برق آماده شده است.

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

آموزش مقدماتی متلب توسط ” میرباقر مرتضویان” فارغ التحصیل کارشناسی ارشد مهندسی برق قدرت – سیستم از دانشگاه علم و صنعت ایران تهران.

>

بازدیدها: 49

تهران آموزش - 29 posts

سلام. من پشتیبانی آنلاین تهران آموزش هستم . هرگونه مشکلی در فرایند خرید یا دانلود داشتید با من در میان بگذارید
شماره ارتباط در تلگرام و واتس آپ : 09332978858

آموزش متلب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *