استفاده از تابع min و تابع max در متلب
برای پیدا کردن کوچکترین و بزرگترین عدد در بین تعدادی از اعداد، می توانیم از توابع min و max استفاده کنیم. استفاده از این توابع بسیار ساده است اما برای اهداف مختلف، می توانیم به صورت های گوناگون از آن ها استفاده کنیم. بهتر است کاربردهای مختلف این تابع ها را همین حالا به خاطر بسپارید تا هنگام استفاده از متلب به مشکل بر نخورید.
برای اینکه یک سری از اعداد را از کوچک به بزرگ و یا بزرگ به کوچک مرتب کنید، دستور sort در متلب را مطالعه کنید.
استفاده از تابع max در متلب
کاربردهای تابع max در متلب را در چند بخش با هم مرور می کنیم.
پیدا کردن بزرگترین درایه بردار با استفاده از دستور max در متلب
در این حالت، به سادگی می توانیم نام بردار دلخواه خود را به عنوان ورودی به تابع max بدهیم تا بزرگترین درایه را به ما تحویل دهد. فرقی هم نمی کند که بردار مورد نظرمان سطری باشد یا ستونی. نحوه استفاده از این تابع برای تمام بردار ها یکسان است. به مثال زیر توجه کنید.
مثال: بزرگترین درایه بردار A را به دست می آوریم. این کار را برای هر دو حالت بردار سطری و ستونی انجام داده ایم.
استفاده از تابع max برای بردار با درایه های مختلط
اگر برداری دارای اعداد مختلط هم باشد، می توانیم از تابع max استفاده کنیم. اگر به طور مستقیم از دستور max استفاده کنیم، درایه ای که اندازه آن بزرگتر باشد را بر می گرداند. (با محاسبه اندازه عدد مختلط که آشنا هستید؟! جذر جمع مربعات بخش حقیقی و موهومی). اما حالت های دیگری هم وجود دارد. مثال های زیر را با دقت بررسی کنید.
مثال: مشخص می کنیم که کدام درایه ماتریس B اندازه بزرگتری دارد.
درایه چهارم به عنوان بزرگترین درایه انتخاب شد. برای اطمینان اجازه بدهید اندازه هر کدام از درایه های بردار B را محاسبه کنیم. این کار با استفاده از تابع abs انجام می پذیرد.
مشاهده می کنید که اندازه درایه چهارم بزرگتر از سایر درایه هاست.
مثال: فرض کنید می خواهیم بزرگترین بخش حقیقی اعداد مختلط را در بین درایه های B پیدا کنیم. برای این کاری باید ابتدا برداری تشکیل دهیم که شامل بخش حقیقی درایه های B باشد و سپس بزرگترین درایه را انتخاب کنیم. البته روش دیگری هم ارائه می دهیم که می تواند در یک مرحله این کار را انجام دهد.
با دستور پرکاربرد disp هم آشنا شوید: دستور disp در متلب
پیدا کردن بزرگترین درایه های ماتریس با استفاده از دستور max در متلب
این قسمت از آموزش را هم به چند بخش تقسیم کرده ایم تا پله پله تمام مفاهیم مهم بررسی شود.
1- پیدا کردن بزرگترین درایه یک ستون ماتریس در متلب با استفاده از max
برای پیدا کردن بزرگترین درایه در هر ستون ماتریس، کار ساده ای داریم. کافیست صرفا نام ماتریس را به عنوان ورودی به تابع max بدهیم تا متلب روی سطرها حرکت و بزرگترین درایه هر ستون را به دست بیاورد و در انتها به صورت یک بردار سطری در خروجی نمایش دهد. برای این که بهتر متوجه شوید، به مثال زیر دقت کنید.
مثال: به سادگی، بزرگترین درایه هر ستون ماتریس A را با استفاده از دستور max به دست آورده ایم.
درایه اول بردار سطری به دست آمده یعنی عدد 20، بیشترین مقدار ستون اول ماتریس A می باشد. درایه دوم بردار سطری یعنی عدد 9، بیشترین مقدار ستون دوم ماتریس A است. و همین طور برای دو عدد بعدی.
2- پیدا کردن بزرگترین درایه یک ردیف ماتریس در متلب با استفاده از max
تا اینجای کار فهمیدیم که وقتی نام ماتریس را در تابع max وارد می کنیم، به طور پیشفرض مقدار حداکثر هر ستون به دست می آید. اما برای پیدا کردن بزرگترین مقدار هر ردیف در ماتریس، دو راه حل داریم. یک راه حل غیر اصولی و یک راه حل اصولی!
ابتدا اجازه بدهید روش اصولی را بیان کنیم. در این روش باید آرگومان دوم ماتریس را با یک [ ] ، خالی بگذاریم و در آرگومان سوم عدد 2 را قرار بدهیم. (پس حتما متوجه شدید. اگر در آرگومان سوم عدد 1 بگذاریم، بیشترین مقدار در هر ستون، اگر 2 بگذاریم بیشترین مقدار در هر سطر و اگر 3 بگذاریم بیشترین مقدار در هر طبقه ماتریس سه بعدی به دست می آید.)
اما حتما می پرسید چرا در آرگومان دوم، ماتریس خالی گذاشته ایم. آرگومان دوم کاربرد دیگری دارد که در ادامه به آن خواهیم رسید.
مثال: بزرگترین درایه هر سطر در ماتریس A را محاسبه کرده ایم.
مشاهده می کنید که نتیجه به صورت یک بردار ستونی ظاهر می شود.
و اما روش غیر اصولی! در این روش ترانهاده ماتریس A را وارد تابع max می کنید. حالا ردیف های ماتریس A ستون های ترانهاده آن هستند. در مثال زیر از این روش استفاده کرده ایم.
مثال: با استفاده از روش دوم، بزرگترین درایه هر سطر در ماتریس A را به دست آورده ایم.
3- پیدا کردن بزرگترین درایه یک طبقه ماتریس در متلب با استفاده از max
برای این که بزرگترین درایه یک طبقه را مشخص کنیم، می توانیم از همان فرم قبلی استفاده کنیم با این تفاوت که در آرگومان سوم عدد 3 را قرار دهیم. به مثال زیر توجه کنید.
مثال: در ماتریس C به دنبال پیدا کردن بزرگترین درایه در هر طبقه ماتریس هستیم.
مشاهده می کنید که بزرگترین درایه در هر طبقه به دست آمده است.
4- پیدا کردن بزرگترین درایه کل ماتریس در متلب
برای پیدا کردن بزرگترین درایه یک ماتریس راه های مختلفی وجود دارد. ساده ترین راه های موجود برای ماتریس های ساده و ماتریس های سه بعدی در مثال های زیر آورده شده است.
مثال: بزرگترین درایه ماتریس زیر را با دو روش محاسبه کرده ایم.
مثال: برای محاسبه بزرگترین درایه ماتریس سه بعدی C می توانیم از روش های زیر استفاده کنیم.
مقایسه بین درایه های یک ماتریس و یک عدد
با استفاده از تابع max در متلب می توانیم بین یک عدد اسکالر و یک ماتریس مقایسه انجام دهیم. برای درک بهتر منظور، یک مثال می آورم.
مثال: می خواهیم همه درایه های ماتریس B بزرگتر از 3 باشند. یعنی درایه هایی که بزرگتر یا مساوی 3 قرار دارند بدون تغییر بمانند و سایر درایه ها برابر با 3 شوند.
احتمالا حالا متوجه شدید که آرگومان دوم تابع max چه کاربردی دارد و دلیل اینکه در بخش های قبلی و برای پیدا کردن بزرگترین درایه هر ردیف ماتریس، آرگومان دوم را خالی می گذاشتیم چه بود.
استفاده از تابع min در متلب
استفاده از تابع min هم دقیقا مانند تابع max است. قواعدی که در بالا در هر بخش گفتیم (بردارها، ماتریس ها ی ساده، ماتریس ها سه بعدی و …) دقیقا برای دستور min در متلب هم برقرار است. با این تفاوت که در اینجا به جای اینکه در هر بخش بزرگترین عدد انتخاب شود، کوچکترین عدد برگزیده می شود. پیشنهاد می کنم برای تسلط بهتر، یک بار مثال های بالا را برای تابع min هم انجام دهید.
اگر سوال یا ابهامی باقی مانده، حتما در زیر این پست آن را مطرح کنید تا در سریع ترین فرصت پاسخ داده شود.