- آموزش برنامه نویسی در متلب (MATLAB) - قسمت هفتم
- نظرات
آموزش کدنویسی در نرم افزار متلب (MATLAB) – قسمت هفتم- انواع داده ها در متلب – آرایه های سلولی
انواع داده ها در متلب (2)
در قسمت ششم آموزش متلب با انواع داده های عددی (Numeric Data)، داده های منطقی (Logical Data) و داده های کاراکتری (Char Data) آشنا شدیم و گفتیم که اگر داده ها ناهمگون باشند نمی توان آن ها را به شکل ماتریسی الحاق نمود. برای ترکیب یا الحاق انواع داده ها می توانیم از آرایه های سلولی یا داده های ساختاری استفاده کنیم که در این جلسه به آن ها می پردازیم. هر نوع داده که بین دو آکولاد یعنی {} آورده شود به صورت سلولی ذخیره می شود. برای مثال فرض کنیم می خواهیم سه داده کاراکتری everun.ir و MATLAB و Simulink را به صورت افقی الحاق کنیم و آن را در متغیری به نام B ذخیره کنیم. داریم:
همانطور که مشاهده می کنیم با ذخیره سازی سلولی توانستیم سه رشته (Strings) با ابعاد متفاوت را به راحتی با هم الحاق کنیم. با مشاهده متغیر B در workspace و یا استفاده از دستور class مشاهده می کنیم که نوع داده متغیر B سلولی (Cell) می باشد.
توجه شود که المان های داخل سلول از هر نوعی می تواند باشد مانند داده عددی، ماتریس، رشته و یا حتی سلول که این یکی از مزایای استفاده از داده های سلولی می باشد که می توان انواع داده های ناهمگون و غیر هم جنس با ابعاد متفاوت را در کنار هم ذخیره سازی کرد. برای مثال داریم:
همانطور که مشاهده می کنیم آرایه سلولی به نام C تعریف کرده ایم که سطر اول آن یک اسکالر، سطر دوم آن یک ماتریس 1*2، سطر سوم آن یک ماتریس 2*2، سطر چهارم آن یک رشته (string) و سطر آخر آن یک سلول 1*2 می باشد. همه قواعدی که برای ماتریس ها در قسمت های قبلی آموزش متلب تعریف کردیم (عملیات ماتریسی – کلیک کنید) برای آرایه های سلولی قابل استفاده می باشند. تنها نکته مهم نحوه اندیس گذاری می باشد که در آرایه های سلولی به دو شکل امکان پذیر است.
1.اندیس گذاری با پرانتز () – مانند آنچه در ماتریس ها انجام می دهیم
2.اندیس گذاری با آکولاد {}
برای مثال متغیر B را یک آرایه سلولی 5*1 تعریف کردیم که دارای 5 سلول می باشد. با استفاده از اندیس گذاری نوع اول می توانیم به تک تک این سلول ها دسترسی داشته باشیم. داریم:
اما گاهی اوقات نیاز داریم به محتوای داخل این سلول ها دسترسی داشته باشیم بنابراین از اندیس گذاری نوع دوم استفاده می کنیم. برای مثال داریم:
فراموش نکنیم که داده های سلولی از نوع Index-based (مبتنی بر اندیس) می باشند به این معنی که برای دسترسی به این داده ها بر اساس “اندیس” عمل می کنیم. اما گاهی اوقات نیاز داریم بر اساس “نام” یا “Name-based” (مبتنی بر نام) به داده ها دسترسی پیدا کنیم که در قسمت هشتم آموزش، با داده های ساختاری (Struct) آشنا می شویم.