ماتریس های سه بعدی در متلب
ویکی مکانیک – ایجاد ماتریس های سه بعدی یا چند طبقه، یکی از قابلیت های نرم افزار متلب است که در حل بعضی از مسائل به کمک ما می آید. در این قسمت از جلسات آموزش متلب ، قصد داریم به معرفی ماتریس های سه بعدی در متلب و نحوه کار و تعامل با آنها بپردازیم.
آموزش های متلب را در اینجا ببینید: آموزش متلب ویکی مکانیک
ماتریس سه بعدی چیست؟
ماتریس در حالت عادی چند بعد دارد؟ خب معلوم است دو بعد. یک بعد آن تعداد سطرها را نشان می دهد و یک بعد تعداد ستون ها را مشخص می کند.
حالا فرض کنید تعدادی از این ماتریس های دو بعدی را ( که تعداد سطرها و ستون هایشان با یکدیگر برابر است) روی هم قرار دهیم و در واقع یک ماتریس چند طبقه ایجاد کنیم. در این صورت یک بعد سوم هم به ماتریس خود اضافه کرده ایم و در نتیجه یک ماتریس سه بعدی خواهیم داشت.
برای درک بهتر این موضوع، فرض کنید که هر ماتریس دو بعدی یک برگ کاغذ باشد. وقتی تعدادی از این برگ های کاغذ را روی هم قرار دهیم، یک ماتریس سه بعدی ایجاد می شود.
پیشنهاد می کنم این آموزش را هم مطالعه کنید: جمع و ضرب ماتریس در متلب
تعریف ماتریس سه بعدی در متلب
در مقاله ماتریس ها در متلب با نحوه وارد کردن اطلاعات ماتریس های دوبعدی در متلب آشنا شدید. روش ایجاد ماتریس سه بعدی در متلب هم تقریبا مشابه است. برای تعریف ماتریس سه بعدی در نرم افزار متلب، شما باید اطلاعات مربوط به هر طبقه را وارد کنید و شماره طبقه را هم مشخص نمایید.
مثال: فرض کنید می خواهیم یک ماتریس سه بعدی با دو طبقه ایجاد کنیم که طبقه اول آن ماتریس A و طبقه دوم آن ماتریس B است.
فرض کنید نام ماتریس سه بعدی را C می گذاریم. ابتدا برویم سراغ مشخص کردن طبقه اول.
خب طبقه اول سه سطر و دو ستون دارد. اما برای وارد کردن اطلاعات نباید شماره سطر و ستون خاصی را وارد کنیم. چون می خواهیم تمام سطرها و ستون ها با اطلاعات پر شوند. پس به جای شماره سطر و ستون، : قرار می دهیم.
آرگومان سوم مربوط به شماره طبقه است که مطابق کد زیر، آن را برای طبقه اول برابر 1 قرار می دهیم. به همین صورت برای طبقه دوم هم عمل می کنیم.
حالا یک ماتریس سه بعدی دو طبقه داریم. اگر در قسمت Workspace بر روی متغیر c دو بار کلیک کنید، پنجره مربوط به این متغیر باز می شود و همانطور که مشاهده می کنید، مقادیر داخل آن به صورت یک ماتریس دو طبقه ظاهر می شود.
در قسمت بالای این پنجره همانطور که در شکل بالا هم مشخص شده، متغیر c از نوع double است و یک ماتریس 3×2×2 می باشد که 3 نشان دهنده تعداد سطر ها، عدد 2 ابتدایی نشان دهنده تعداد ستون ها و عدد 2 انتهایی نشان دهنده تعداد طبقات است.
اضافه کردن طبقات ماتریس سه بعدی
برای اضافه کردن طبقات ماتریس، کافیست مانند کد زیر، طبقه جدید را برای آن ماتریس تعریف کنید. فقط باید حواستان به این هم باشد که تعداد سطرها و ستون های همه طبقات باید یکسان باشد وگرنه متلب error می دهد.
شماره درایه ها در ماتریس سه بعدی
اگر یادتان باشد در مقاله ماتریس ها در متلب گفتیم که شماره المان های ماتریس دو بعدی به این صورت است که ابتدا از اول ستون 1 شروع می کنیم به شماره گذاری و تا انتهای آن می رویم. سپس به سراغ ستون دوم می رویم و بعد هم ستون سوم و … . یعنی دقیقا مانند شکل زیر:
در ماتریس سه بعدی هم تفاوت چندانی وجود ندارد. ابتدا باید ماتریس طبقه اول را به این شیوه شماره گذاری کنید. پس از اتمام آن به سراغ طبقه بعدی بروید و به شکل مشابه، ادامه شماره گذاری را در آن انجام دهید. یعنی دقیقا مشابه شکل زیر:
مثال: ماتریس سه بعدی c را که در بالا تعریف کردیم، در نظر بگیرید:
درایه سوم و دهم این ماتریس، به ترتیب اعداد 3 و 10 را نشان می دهد. (در واقع در این ماتریس مقدار هر درایه را برابر شماره آن درایه قرار دادیم!)
جمع و تفریق ماتریس های سه بعدی
جمع و تفریق ماتریس های سه بعدی دقیقا مشابه ماتریس های ساده و دوبعدی است. فقط باز هم باید حواستان باشد که وقتی چند تا ماتریس سه بعدی را با هم جمع می کنید، تعداد سطرها، ستون ها و طبقات یکسانی داشته باشند.
توابع مرتبط با ماتریس های سه بعدی در متلب
برخی از توابع بودند که برای ما ماتریس های دو بعدی آماده ای را ایجاد می کردند. از این توابع می توانیم برای تولید ماتریس های سه بعدی هم کمک بگیریم. به عنوان مثال به سه تا از این توابع در اینجا اشاره می کنیم.
برای ایجاد ماتریس با تعداد سطر و ستون دلخواه و آرایه های برابر صفر، از zeros استفاده می کردیم. اگر ورودی های تابع zeros سه تا باشد، برای ما یک ماتریس سه بعدی با آرایه های صفر ایجاد می کند.
پیشنهاد می کنم این آموزش را هم مطالعه کنید: دستور zeros در متلب
همین موضوع برای تابع ones هم برقرار است با این تفاوت که همه آرایه برابر 1 خواهند شد.
پیشنهاد می کنم این آموزش را هم مطالعه کنید: دستور ones در متلب
برای ایجاد ماتریس سه بعدی با آرایه های تصادفی و رندم هم از تابع rand به شکل زیر کمک می گیریم.
مثال: با استفاده از دستورهای زیر، ماتریس اول با سه سطر، پنج ستون و دو طبقه ساخته می شود که همه درایه های آن صفر است. ماتریس دوم با دو سطر، یک ستون و چهار طبقه ساخته می شود که همه درایه های آن 1 است. و ماتریس سوم هم با چهار سطر، پنج ستون و سه طبقه ایجاد می شود که هر کدام از درایه های آن یک عدد تصادفی بین 0 و 1 است.
در این آموزش سعی کردیم همه نکات مهم مرتبط با ماتریس های سه بعدی را با زبان ساده بیان کنیم. در صورتی ابهامی برای شما باقی مانده، در پایین همین پست مطرح کنید تا در سریع ترین فرصت به شما پاسخ دهیم.
چه طوری ترکیب می کنیم تا یک ماتریس بشن