دستور max در متلب
در این پست از آموزشهای متلب، میخواهیم دستور max در متلب را معرفی کنیم. همانطور که از نامش پیداست، این دستور برای به دست آوردن مقدار ماکزیمم در یک بردار یا ماتریس استفاده میشود. در این پست ما نحوه استفاده از این دستور را به طور کامل بررسی خواهیم کرد. با هوسم همراه باشید…
دستور max در متلب چه کاری انجام میدهد؟
برای محاسبه مقدار ماکزیمم در یک بردار یا ماتریس از دستور max در متلب استفاده میکنیم. این دستور آپشنهای متفاوتی دارد که با همه آنها آشنا خواهید شد. برای همه آپشنهایی که بررسی خواهیم کرد، یک مثال حل میکنیم. از این رو ابتدا یک ماتریس تعریف میکنیم:
>> a = [8 16 25 24; 5 3 21 23; 9 10 13 18; 6 2 23 16; 13 13 4 9; 23 11 10 24]
کافی است کد بالا را کپی و در صفحه Command Window متلب خود paste کنید! در همه مثالها از همین متغیر استفاده خواهیم کرد.
محاسبه ماکزیمم در ماتریس با دستور max در متلب
دستور ماکزیمم در متلب، تابع max است. آن را در help متلب جستجو کنید. بعد از باز کردن صفحه توضیحات مربوط به این دستور، عبارت زیر را مشاهده خواهید کرد:
M = max(A, [], dim)
که A، ماتریس یا برداری است که میخواهیم بیشترین مقدارش را محاسبه کنیم و dim بُعد است. یعنی برای یک ماتریس مقدار ماکزیمم برای هر سطر محاسبه شود یا هر ستون؟ و یا حتی هردو؟ در ادامه هرکدام از این حالتها را بررسی خواهیم کرد…
محاسبه ماکزیمم برای هر ستون در متلب
برای اینکه مقدار ماکزیمم برای هر ستون را محاسبه کنیم، کافی است مقدار dim را برابر با 1 در نظر بگیریم. یعنی برای ماتریس a باید بنویسیم:
>> max(a, [], 1) ans = 23 16 25 24
مشاهده میکنید که مقدار ماکزیمم برای هر ستون محاسبه شده است. خروجی در این صورت یک بردار است که مقادیر ماکزیمم برای هر ستون را در خود دارد. مقدار dim به صورت پیشفرض 1 است. یعنی برای محاسبه ماکزیمم هر ستون کافی است بنویسیم max(a). در این صورت باید نتیجه با حالت قبل یکی باشد:
>> max(a) ans = 23 16 25 24
همانطور که مشاهده میکنید، نتیجه با حالت قبل یکی شد. در بخش بعدی با استفاده از دستور max در متلب، مقدار ماکزیمم برای هر سطر را محاسبه خواهیم کرد…
محاسبه ماکزیمم برای هر سطر در متلب
برای محاسبه ماکزیمم برای هر سطر کافی است مقدار dim را برابر با 2 بگذاریم. بنابراین برای ماتریس a باید بنویسیم:
>> max(a, [], 2) ans = 25 23 18 23 13 24
مشاهده میکنید که مقدار مقدار ماکزیمم برای هر سطر محاسبه شده است. اما اگر بخواهیم مقدار ماکزیمم را در کل ماتریس پیدا کنیم چه؟ در بخش بعدی به این سوال پاسخ خواهیم داد…
محاسبه مقدار ماکزیمم در کل ماتریس
تا اینجا توانستیم مقدار ماکزیمم در هر سطر و هر ستون را محاسبه کنیم. حالا میخواهیم مقدار ماکزیمم را در کل ماتریس محاسبه کنیم. برای این کار باید مقدار dim را برابر با [1, 2] قرار دهیم. برای یافتن ماکزیمم برای ماتریس a کافی است بنویسیم:
>> max(a, [], [1, 2]) ans = 25
مشاهده میکنید که خروجی، مقدار ماکزیمم در کل ماتریس a است.
محاسبه اندیس ماکزیمم با دستور max در متلب
با کمک دستور max در متلب، علاوه بر مقدار ماکزیمم، اندیس ماکزیمم را نیز میتوان محاسبه کرد. اندیس ماکزیمم یعنی اینکه اندیسِ مقدار ماکزیمم چه هست. به دست آوردن اندیس ماکزیمم بسیار ساده است. برای این کار باید مقدار ماکزیمم را در دو متغیر ذخیره کنیم. این کار را با مثال توضیح خواهیم داد.
فرض کنید بخواهیم مقدار ماکزیممِ هر ستون و اندیس متناظر با هرکدام را استخراج کنیم برای این کار کافی است بنویسیم:
>> [m, i] = max(a, [], 1)
اگر کد بالا را اجرا کنیم، نتیجه به شکل زیر خواهد بود:
m = 23 16 25 24 i = 6 1 1 1
مشاهده میکنید که مقدار ماکزیممها در متغیر m ذخیره شدهاند. اندیس متناظر با هر ماکزیمم هم در متغیر i ذخیره شدهاند. به اندیسها نگاه کنید. مشاهده میکنید که اینها اندیس در کل ماتریس نیستند. بلکه اندیس در هر ستون است! یعنی فقط گفته شده که ماکزیمم در هر ستون، چندمین عدد در آن ستون است. اگر بخواهیم اندیس واقعی ماکزیمم را حساب کنیم چه؟ برای این کار کافی است که عبارت ‘linear’ را به ورودیهای دستور max اضافه کنیم:
>> [m, i] = max(a, [], 1, 'linear')
بعد از اجرا خواهیم داشت:
m = 23 16 25 24 i = 6 7 13 19
برای بُعد دیگر نیز به همین ترتیب میتوان اندیسها را محاسبه کرد:
>> [m, i] = max(a, [], 2)
نتیجه اجرای کد بالا به شکل زیر است:
m = 25 23 18 23 13 24 i = 3 4 4 3 1 4
باز مقدار ماکزیممها در m و اندیس آنها در i ذخیره شدهاند. برای محاسبه اندیسهای واقعی اما مینویسیم:
>> [m, i] = max(a, [], 2, 'linear')
m = 25 23 18 23 13 24 i = 13 20 21 16 5 24
آیا اندیس ماکزیمم برای کل ماتریس را نیز میتوان به همین ترتیب محاسبه کرد؟ ببینیم:
>> [m, i] = max(a, [], [1, 2])
Error using max Specify 'linear' option when returning two outputs and the dimension is 'all' or a vector.
با خطا مواجه شدیم. این خطا به ما میگوید که زمانی میخواهیم ماکزیمم را بین همه المانها محاسبه کنیم حتما باید از آپشن ‘Linear’ استفاده کنیم! بیایید. همین کار را انجام میدهیم:
>> [m, i] = max(a, [], [1, 2], 'linear')
m = 25 i = 13
به این ترتیب توانستیم اندیسِ مربوط به مقدار ماکزیمم را محاسبه کنیم.
میخوای از متلب بیشتر بدونی؟ آموزش متلب هوسم رو از دست نده! 21 جلسه 100درصد رایگان 👇
جمعبندی
در این پست نحوه استفاده از دستور max در متلب را آموزش دادیم. شما در این پست یاد گرفتید که چطور مقدار ماکزیمم را در یک ماتریس محاسبه کنید. علاوه براین نحوه به دست آوردن اندیسِ ماکزیمم را نیز یاد گرفتید. امیدوارم این آموزش مورد توجه شما قرار گرفته باشد. سوالها و نظرهای خود را برایمان کامنت کنید.
مطالب زیر را حتما مطالعه کنید
تعریف متغیر در متلب
آموزش متلب رایگان
دستور محاسبه انتگرال در متلب
دستور input در متلب
دستور ezplot در متلب
حل دستگاه معادلات در متلب
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
عالی بود دستتون دردنکنه