هر چند در قسمت ماتریس ها توابع مختلفی ارائه شدند فراخوانی تابع در متلب کمک زیادی به خلاصه نویسی و کوتاه شدن کدنویسی میکند. در قسمت ساختارهای کنترلی و حلقه ها برخی از توابع متلب را کد نویسی خواهیم کرد و خواهید دیدکه چقدر کد طولانی در یک تابع ، خلاصه شده و به راحتی مورد استفاده قرار می گیرد.
تابع sum در واقع جمع کننده می باشد و هر موقع بخواهید از جمع چند ماتریس استفاده کنید کافیست از این تابع بهره بگیرید. به عنوان مثال فرض کنید یک ماتریسی به صورت a=[1 5 4 7] دارید و می خواهید همه ی درایه های آن را با هم جمع نماید کافیست از دستور زیر برای این کار استفاده نمایید (sum(a که شکل زیر نتیجه ی این عمل را نشان می دهد.
یعنی به جای اینکه بنویسید ۱+۵+۴+۷ و کد نویسی متلب را پیچیده نمایید به سادگی با استفاده از 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(3 که نتیجه در شکل زیر ارائه شده است.
می توانید این کار را برای ماتریس های مختلف انجام دهید. به عنوان مثال یک ماتریس سه در چهار حاوی اعداد بین صفر و یک نیاز دارید کافیست دستور زیر را برای آن تایپ کنید (rand(3,4 که نتیجه حاصل در شکل زیر گنجانده شده است.
در زیر شاخه تابع rand تابع دیگری به نام randi وجود دارد که i در انتهای آن نشان دهنده ی integer یعنی عدد صحیح می باشد. در واقع شما می توانید با استفاه از این تابع یک ماتریس یا عدد صحیح بین هر بازه ای که بخواهید تولید کنید. تعریف تابع randi به صورت زیر می باشد:
(Randi([minimum,maximum],line,column
یعنی در [] مقدار حداقل و حداکثری که می خواهیم اعداد بین آن ها باشد را قرار می دهیم. و در سطر و ستون تعداد سطر و ستون ماتریس مورد نظر را قرار خواهیم داد.
به عنوان مثال می خواهید یک ماتریس ۳ در ۴ حاوی اعداد صحیح بین ۵ و ۲۰ داشته باشید کافیت از دستور زیر استفاده نمایید (randi([5 20],3,4 که نتیجه را در زیر می بینید.
در این قسمت هم مشاهده می کنید نوشتن” , ”مهم نیست.
تابع diag برای قطری کردن داده ها استفاده می شود. به عنوان مثال فرض کنید یک ماتریسی همانند[ a=[1 2 5 4 دارید و می خواهید یک ماتریسی توسط آن تولید نمایید که قطرهای اصلی آن داده های این ماتریس باشند که شکل زیر نشان دهنده ی این موضوع است.
اگر بخواهید یک ستون بعد شروع گردد کافیست دستور زیر را وارد نمایید (diag(a,1 که نتیجه به صورت زیر حاصل می شود.
در واقع کار تابع diag، با قطر اصلی ماتریسها می باشد. اگر یک ماتریس دیگری هم داشته باشید و بخواهید قطر اصلی آن را استخراج نمایید از این تابع می توانید استفاده نمایید. به عنوان مثال یک ماتریس فرص کنید یک ماتریس(a=randi([4 12],4,4 دارید و میخواهید درایه های قطر اصلی آن را استخراج کنید در این صورت کافی است از (diag(a استفاده نمایید که در شکل زیر نمایش داده شده است.
حال اگر بخواهید از همین داده های به دست آمده یک ماتریس قطری بسازید کافیست دستور زیر را اعمال نمایید ((diag(diag(a که نتیجه به صورت زیر حاصل می شود.
یکی دیگر از توابع پر کاربرد در متلب تابع round می باشد که کار round کردن به صورت ریاضی را انجام خواهد داد. به عنوان مثال اگر عدد ۳.۱ به این تابع داده شود تابع آن را ۳ می خواند و اگر مقدار ۳.۶ به آن اعمال شود تبدیل به ۴ خواهد شد برای ۳.۵ نیز عدد ۴ را به عنوان خروجی خواهد داد. به عنوان مثال می خواهید round ماتریس a=[1.11 2.54; 3.5 -1.4] را استخراج کنید که نتیجه در زیر نمایش داده شده است.
گاهی میخواهید یک عددی را round کنید به شرطی که تا ۳ یا ۴ رقم اعشار نمایش داده شود در این صورت از دستور (round(adad,3ya4ya استفاده نمایید به عنوان مثال میخواهید عدد ۴.۵۷۴۸۱۲۵ را round کنید به شرطی که تا ۴ رقم اعشار نشان داده شود. در این صورت کافی است از دستور (round(4.5748125,4 استفاده نمایید که نتیجه را ملاحظه می کنید.
گاهی یک عدد بسیار بزرگی دارید و نمیخواهید قسمت های یکان و دهگان و… آن را نشان دهید به عنوان مثال عدد ۱۲۵۴۸۷ را در نظر بگیرید و دیگر نمیخواهید یکان و دهگان نشان داده شود و صفر به جای آن قرار داده شود یعنی تبدیل به ۱۲۵۴۰۰ شود در اینصورت از دستور( round(125487,-2 استفاده می کنید.
این تابع به معنای round است ولی همیشه به سمت پایین عمل می کند به عنوان مثال اگر عدد ۲.۶ هم به آن داده شود تبدیل به ۲ خواهد شد نه ۳، مثالی را برای استفاده از این تابع در یک ماتریس فرض در شکل زیر مشاهده می کنید.
فراخوانی تابع در متلب هر عدد ورودی را به نزدیک ترین عدد صحیح و بزرگ تر از خودش تبدیل می کند. به عنوان مثال اگر ۲.۴ به آن وارد شود خروجی ۳ خواهد شد و اگر ۱.۹- به آن وارد شود عدد ۱- خروجی آن خواهد شد. شکل زیر نیز نمونه ای از عملکرد این تابع را نشان می دهد.
تمام این مطالب با مثال های زیاد و تعریف توابع زیاد و کارکرد آن ها در ویدیوی این بخش وجود دارد که شما می توانید با مشاهده ی آن توابع زیادی از متلب را فرا بگیرید.