آرایه سلولی در متلب چیست؟ – به زبان ساده + تعریف و مثال
«متلب» (MATLAB)، یکی از پلتفرمهای محبوب برنامهنویسی و همچنین زبان برنامه نویسی با کارایی بالا برای محاسبات فنی بهشمار میرود. این نرمافزار، امکاناتی نظیر محاسبات، بصریسازی و برنامهنویسی در محیطی با کاربری نسبتاً آسان را برای ما فراهم میکند. یکی از ساختارهای موجود در زبانهای برنامهنویسی، آرایهها هستند که برای ذخیره دادهها، مورد استفاده قرار میگیرند. «آرایه سلولی» نیز، یکی از «انواع دادهای» در متلب محسوب میشود که دادههای گوناگونی را در خانههای ایندکس (یا نمایه) شده بهنام سلول، نگه میدارد. آرایه سلولی در متلب، میتواند حاوی فهرستها، متن، اعداد یا آرایههای عددی در اندازههای گوناگون باشد. در این مطلب از مجله تم آف میخواهیم با آرایه سلولی در متلب آشنا شویم و آن را با مثالهای متنوع و تا حد امکان بهطور جامع یاد بگیریم.
مقدمه ای بر آرایه سلولی در متلب
در این قسمت، به بیان انواع دادههایی که در نرمافزار متلب وجود دارند و همچنین مقدمهای از آرایههای سلولی میپردازیم.
نوع داده های موجود در متلب کدام اند؟
نرم افزار متلب، شامل نوع دادههای گوناگونی است که در ادامه فهرست شدهاند.
- انواع عددی (Numeric Types): دادههایی از نوعِ عدد صحیح یا اعشاری را نگه میدارد.
- کاراکترها و رشتهها (Characters and Strings): برای ذخیره دادههای متنی، آرایههای کاراکتری یا رشتهای مورد استفاده قرار میگیرد.
- تاریخ و زمان (Dates and Time): آرایههایی از مقادیر تاریخ و زمان هستند که میتوانند در قالبهای مختلفی نمایش داده شوند.
- آرایههای طبقهبندی شده (Categorical Arrays): آرایههایی از دادههای «کیفی» هستند که مقادیری از مجموعه متناهی دادههای غیر عددی و گسسته را در بر میگیرند.
- جداول (Tables): آرایههایی جدول-مانند هستند که ستونهای (دارای نام) آن میتواند انواع متفاوتی داشته باشد.
- جداول زمانی (Timetables): دادههای «Time-Stamped» را شامل میشوند که در قالبی جدول-مانند قرار دارند.
- ساختارها (Structures): آرایههایی با فیلدهایی (دارای نام) هستند که میتوانند دادههایی با انواع و اندازههای گوناگون را نگهداری کنند.
- مدیریت توابع (Function Handles): متغیرهایی که امکان فراخوانی یک تابع (بهطور غیر مستقیم) را برای ما فراهم میکنند.
- دیکشنریها (Dictionaries): دربرگیرنده نگاشت دادهها به همراه کلیدهایی هستند که مقادیر را ایندکس میکنند.
- سریهای زمانی (Time Series): بردارهای دادهای که در طول زمان نمونهبرداری شدهاند را در بر میگیرد.
- شناسایی نوعِ داده (Data Type Identification): نوعِ داده متغیر را تشخیص میدهد.
- تبدیل نوعِ داده (Data Type Conversion): برای تبدیل نوعهایی مانند آرایههای عددی، رشتهها و آرایههای کاراکتری، تاریخها و زمانها، آرایههای سلولی، ساختارها یا جداول بهکار میرود.
- آرایه سلولی (Cell Arrays): این نوع آرایهها میتوانند حاوی دادههایی با انواع و اندازههای مختلفی باشند. در این مطلب قصد داریم تا این نوع آرایه را مورد بررسی قرار دهیم.
آشنایی با آرایههای سلولی در متلب
«آرایههای سلولی» (Cell Arrays) در نسخه ۵٫۰ نرم افزار متلب معرفی شدند و این امکان را برای ما فراهم کردند تا آرایههایی با اندازه و نوعهای مختلف داشته باشیم. آرایههای سلولی، از نظر ابعاد، مستطیلی شکل هستند و از آنجاییکه هر عنصرِ درون آرایه، یک سلول محسوب میشود، تمام مواردی که درون آرایه قرار میگیرند، باید از یک نوع باشند. با این حال، محتوای هر سلول میتواند هر آرایهای از متلب که در ادامه فهرست شده است را شامل شود.
- «آرایههای عددی» (Numeric Arrays)
- «رشتهها» (Strings)
- «ساختارها» (Structures)
- «آرایههای سلولی» (Cell Arrays)
بهکارگیری آرایه سلولی در بسیاری از موارد میتواند مفید باشد. میتوانیم از آنها برای ذخیره رشتههایی با طول متفاوت استفاده کنیم. این آرایهها همچنین برای ذخیره آرایههای عددی با اندازههای مختلف، مانند «مربعهای جادویی» (Magic Squares) نیز مناسب هستند.
آرایه سلولی در متلب چیست؟
«آرایه سلولی» (Cell Array)، «نوع دادهای» (Data Type) در متلب بهشمار میرود که محفظههای دادهایِ «اندیسدار» (Indexed) بهنام «سلول» (Cells) را برایمان فراهم میکند. هر کدام از این سلولها میتوانند هر نوع دادهای را در خود جای دهند.
آرایه سلولی در متلب، میتوانند حاوی فهرستهای متنی، ترکیبی از اعداد و متن یا آرایههای عددی با ابعاد مختلف باشند. برای ارجاع به مجموعهای از سلولها میتوانیم اندیس آنها را بین «پرانتز» ( )
قرار دهیم. همچنین برای دسترسی به محتویات سلولها، اندیس آنها درون «آکولاد» { }
مینویسیم.
روش ایجاد آرایه سلولی در متلب چیست ؟
اگر بخواهیم دادههایی را درون «آرایه سلولی» ذخیره کنیم، لازم است تا بهشکلی که در ادامه آمده است، آرایه سلولی را بهوسیله «عملگرِ ساختِ آرایه سلولی» یعنی { }
، ایجاد کنیم.
C = {1,2,3;
'text',rand(5,10,2),{11; 22; 33}}
خروجی این دستور، در ادامه آمده است.
C=2×3 cell array {[ 1]} {[ 2]} {[ 3]} {'text'} {5x10x2 double} {3x1 cell}
همچنین، در صورت نیاز میتوانیم، بهشکلی که در ادامه آمده است، با استفاده از { }
، آرایه سلولی خالی ایجاد کنیم.
C = {}
نتیجه این دستور نیز، در ادامه آمده است.
C = 0x0 empty cell array
تابع cell مربوط به آرایه سلولی در متلب چیست؟
برای اینکه بتوانیم آرایه سلولی با اندازه مورد نظر بسازیم، از تابع cell
کمک میگیریم. یعنی میتوانیم با استفاده از cell
، آرایه سلولی را ایجاد و در آینده، آن را با «دادهای»، مقداردهی کنیم. cell
همچنین میتواند ساختارهای دادهای خاصی را از زبانهای جاوا، دات نت و پایتون گرفته و به آرایه سلولی متلب تبدیل کند. در ادامه این مطلب، برخی از نمونهها و همچنین نحوه استفاده از استفاده از تابع cell
را با هم مرور میکنیم.
نحوه ایجاد آرایه سلولی مربعی در متلب چگونه است؟
برای ساخت آرایه سلولی خالی، میتوانیم از دستوری که در ادامه آورده شده است، استفاده کنیم.
C = cell(n)
آرگومان n
، مقداری بهصورت «عدد صحیح» (Integer) میگیرد و اندازه آرایه سلولی مربعی (تعداد سلولها در ردیف و ستون) را مشخص میکند. این دستور، آرایه سلولی خالی C
با ابعاد n * n
را بر میگرداند. در ادامه، مثالی را بیان کردیم که آرایه سلولی مربعی-شکل و خالی، با ابعاد 3 * 3
ایجاد میکند.
C = cell(3)
در رابطه با مقدار n
لازم است تا به نکاتی که در ادامه آمده است، توجه کنیم.
- اگر مقدار n
برابر با «صفر» باشد، آنگاه C
، آرایه سلولی خالی را بر میگرداند.
- اگر n
دارای مقداری منفی باشد، بهطور پیشفرض، «صفر» در نظر گرفته میشود.
- از نوع دادههای uint32
، uint16
، uint8
، int64
، int32
، int16
، int8
، single
، double
و uint64
پشتیبانی میکند.
نتیجه اجرای این دستور، در ادامه آورده شده است.
C=3×3 cell array {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double} {0x0 double}
نحوه ایجاد ایجاد آرایه سلولی با ابعاد دلخواه در متلب چگونه است؟
برای ایجاد آرایه سلولی خالی با ابعاد sz1 * … * szN
(بهطوریکه sz1,…,szN
اندازه هر بُعد را نشان میدهد)، دستوری که در ادامه آمده است را بهکار میبریم.
C = cell(2,3)
اجرای این دستور، آرایهای سلولی با ابعاد 2 * 3
میسازد. باید توجه داشته باشیم که ابعاد آرایه سلولی با اندازهای از نوع «عدد صحیح» (Integer Values) مشخص میشود.
- اگر اندازه هر کدام از ابعاد، برابر با «صفر» باشد، آنگاه C
، آرایه سلولی خالی را بر میگرداند.
- اگر اندازه هر کدام از ابعاد، «منفی» باشد، بهطور پیشفرض، «صفر» در نظر گرفته میشود.
- بعد از بُعد دوم،ابعادی که اندازهای برابر با «یک» دارند، نادیده گرفته میشوند. بهعنوان مثال، دستور cell(3,1,1,1)
، آرایه سلولی خالی با ابعاد 3 * 1
را تولید میکند.
- از نوع دادههای uint32
، uint16
، uint8
، int64
، int32
، int16
، int8
، single
، double
و uint64
پشتیبانی میکند.
برای مثال، اگر بخواهیم آرایه سلولی ۳ بُعدی با ابعاد 3 * 4 * 2
بسازیم، از دستوری که در ادامه آمده است، استفاده میکنیم.
C = cell(3,4,2);
size(C)
خروجی این دستور را در ادامه میبینیم.
ans = 1×3 3 4 2
نحوه ایجاد آرایه سلولی با ابعاد برداری در متلب چگونه است؟
برای اینکه آرایه سلولی خالی با ابعاد برداریِ مورد نظر بسازیم، لازم است تا تابع cell
را بهصورتی که در ادامه آمده است، بهکار ببریم.
C = cell(sz)
اندازه C
بهوسیله بردارِ اندازه sz
مشخص میشود. برای نمونه، دستور cell([2 3])
، آرایه سلولی با ابعاد 2 * 3
بر میگرداند. sz
یا «بردار اندازه»، برداری سطری، از اعدادِ صحیح است. هر عنصر sz
، اندازه بُعد متناظر با جایگاهش را نشان میدهد.
- اگر اندازه هر یک از ابعاد، برابر با «صفر» باشد، آنگاه nC
، آرایه سلولی خالی را بر میگرداند.
- اگر اندازه هر کدام از ابعاد، «منفی» باشد، بهطور پیشفرض، «صفر» در نظر گرفته میشود.
- از بُعد دوم به بعد، ابعادی که اندازهای برابر با «یک» داشته باشند، نادیده گرفته میشوند. بهعنوان مثال، دستور cell(3,1,1,1)
، آرایه سلولی خالی با ابعاد 3 * 1
را تولید میکند.
- از نوع دادههای uint32
، uint16
، uint8
، int64
، int32
، int16
، int8
، single
، double
و uint64
پشتیبانی میکند.
بهعنوان مثال، اگر «بردار اندازه» برابر با sz = [2 3 4]
باشد، آنگاه آرایه سلولی خالی با ابعاد 2 * 3 * 4
ایجاد میشود. لازم به ذکر است که خروجی این دستورات بهصورت آرایهای سلولی برگردانده میشود.
تبدیل ساختار داده های زبان های دیگر به آرایه سلولی متلب چگونه است؟
برای اینکه آرایه جاوا، آرایه دات نت یا توالیهای موجود در زبان پایتون را به آرایه سلولی متلب تبدیل کنیم، از تابع cell
بهشکلی که در ادامه آمده است، استفاده میکنیم.
D = cell(obj)
obj
بهعنوان ورودیِ این دستور (آرایهای که بهعنوان ورودی میگیرد)، میتواند یکی از مواردی باشد که در ادامه فهرست شدهاند.
- شی یا آرایه جاوا
- آرایه دات نت از نوع System.String
یا System.Object
- انواع توالی موجود در زبان پایتون
لازم به ذکر است که خروجی این دستور نیز در نهایت، بهصورت آرایه سلولی خواهد بود.
مثال هایی از آرایه سلولی در متلب
در این قسمت، مثالهایی را از مبحث آرایههای سلولی در متلب را بیان کردهایم.
مثالی برای ایجاد آرایه سلولی و گسترش آن در متلب
همانطور که بیان شد، برای نگهداری از دادههای مرتبط بههم که «انواع دادهای» (Data Types) مختلفی دارند، میتوانیم از آرایه سلولی استفاده کنیم. هر سلول میتواند حاوی یک مورد از این دادهها باشد. برای اشاره به عناصر آرایه سلولی، از نمایهسازیِ (Indexing) آرایه استفاده میکنیم.
میخواهیم آرایه سلولی در متلب بسازیم که حاوی چندین مقدار دمای خوانده شده در تاریخی معین باشد. «تاریخ» را بهعنوان بردار کاراکتری ‘2017-08-16’
و «دما» را بهصورت آرایه [56 67 78]
از نوع Double
در نظر میگیریم. برای ذخیره این موارد دادهای در آرایه سلولی، لازم است تا آنها را بهصورتی که در ادامه آمده است، مابین ۲ علامت «آکولاد» یا { }
قرار دهیم.
C = {'2017-08-16',[56 67 78]}
خروجی این دستور، مقدار آرایه سلولی C
است که در ادامه آمده است.
C=1×2 cell array
{'2017-08-16'} {[56 67 78]}
اکنون میخواهیم خوانشهایی دیگر (از دما) که در تاریخهای دیگر صورت گرفته است را به آرایه سلولی اضافه کنیم. یکی از راههایی که برای این کار وجود دارد این است که از عملگر «انتساب» (علامت مساوی) برای گسترش دادن آرایه، بهشکلی که در ادامه آمده است، استفاده کنیم.
C(2,:) = {'2017-08-17',[58 69 79]};
C(3,:) = {'2017-08-18',[60 68 81]}
خروجی این دستورات، در ادامه آمده است.
C=3×2 cell array {'2017-08-16'} {[56 67 78]} {'2017-08-17'} {[58 69 79]} {'2017-08-18'} {[60 68 81]}
مثالی برای دسترسی به آرایه سلولی در متلب
با دستوری که در ادامه آمده است میتوانیم به اولین سطر از C
با استفاده از ( )
دسترسی داشته باشیم.
C(1,:)
خروجی این دستور، آرایهای سلولی است که زیر مجموعهای از آرایه سلولی اصلی محسوب میشود.
ans=1×2 cell array {'2017-08-16'} {[56 67 78]}
اکنون اگر بخواهیم به «محتویات» سلول، دسترسی داشته باشیم از { }
کمک میگیریم.
C{1,2}
همانطور که در خروجی مشاهده میشود با این روش میتوانیم به «داده» موجود در سلول مورد نظر، دسترسی پیدا کنیم.
ans = 1×3 56 67 78
ایجاد آرایه سلولی در متلب با ابعاد آرایه موجود چگونه است؟
ایجاد آرایه سلولی خالی با استفاده از تابع cell
، معادل این است که «ماتریسی خالی» را به «آخرین ایندکس آرایه سلولی جدید» اختصاص بدهیم. بهعنوان مثال، ۲ دستوری که در ادامه نوشتهایم، باهم برابرند.
C = cell(3,4,2);
C{3,4,2} = [];
نمایه سازی آرایه سلولی در مطلب چیست؟
در ادامه، نمایهسازی با استفاده از «پرانتر» و همچنین «آکولاد» را توضیح میدهیم.
- برای تنظیم یا بازیابی محتویات آرایه سلولی در متلب، از «آکولاد» یا { }
استفاده میکنیم.
- برای «نمایهسازی» یا «شاخصگذاری» (Indexing) در آرایه سلولی، با هدف فراهم کردن زیر مجموعهای از سلولها در « آرایه سلولی» دیگر، از «پرانتر» یا ( )
استفاده میکنیم.
توابع مرتبط با cell کدام اند؟
در این قسمت میخواهیم برخی از توابع مرتبط با آرایه سلولی را مورد بررسی قرار دهیم. عناوین توابع مورد نظر را در قالب جدولی در ادامه بیان کردهایم.
تابع | عملکرد |
cell2mat | برای تبدیل آرایه سلولی به آرایهای معمولی بهکار میرود. |
cell2struct | آرایه سلولی را به آرایه ساختاری تبدیل میکند. |
cell2table | برای تبدیل آرایه سلولی به جدول، مورد استفاده قرار میگیرد. |
mat2cell | آرایه معمولی را به آرایه سلولی (که سلولهای آن حاوی زیر آرایه هستند) تبدیل میکند. |
struct2cell | ساختاری را میگیرد و سپس آن را به آرایه سلولی تبدیل میکند. |
table2cell | جدولی را دریافت و آن را به آرایه سلولی تبدیل میکند. |
iscell | تعیین میکند که آیا ورودی، آرایهای سلولی است یا خیر. |
num2cell | آرایه معمولی را به آرایه سلولی تبدیل میکند. |
در ادامه این مطلب، هر کدام از این توابع را مورد بررسی قرار میدهیم.
عملکرد تابع cell2mat چگونه است؟
برای تبدیل آرایه سلولی به آرایهای معمولی از تابع cell2mat
بهشکل زیر استفاده میکنیم.
A = cell2mat(C)
آرگومان C
آرایهای سلولی است که میخواهیم آن را به آرایهای معمولی تبدیل کنیم. باید توجه داشته باشیم که عناصر موجود در آرایه سلولی، همگی باید نوع داده یکسانی داشته باشند و آرایه حاصل، یعنی A
نیز از همین نوع داده خواهد بود.
نکته دیگری که لازم است به آن دقت کنیم، این است که محتویات آرایه سلولی C
باید توانایی ادغام در قالب مستطیلی «N-بُعدی» را داشته باشند. در غیر اینصورت، نتایج مطلوبی به دنبال نخواهد داشت.
عملکرد تابع cell2struct چگونه است؟
سینتکس و شکل استفاده از تابع cell2struct
در ادامه آمده است.
structArray = cell2struct(cellArray, fields, dim)
این کد، از دادههای موجود در آرایه سلولی cellArray
، «آرایهای ساختاری» (Structure Array) بهنام structArray
ایجاد میکند. آرگومان fields
نام فیلدها را برای آرایه ساختاری تعیین میکند. این آرگومان میتواند آرایهای کاراکتری، آرایهای سلولی از بردارهای کاراکتری یا آرایهای رشتهای باشد. آرگومان dim
نیز تعیین میکند که کدام محورِ آرایه سلولی، برای ساخت آرایه ساختاری بهکار برده شود. (برای تعیین dim
میبایست از double
عددی استفاده شود).
برای ایجاد آرایه ساختاری با فیلدهایی که از N
سطرِ آرایه سلولی مشتق شدهاند، N
نامِ فیلد را در آرگومان fields
و عدد 1
را در آرگومان dim
تعیین میکنیم. همچنین، برای ساخت آرایه ساختاری با فیلدهای گرفته شده از M
ستونِ آرایه سلولی، M
نامِ فیلد را در آرگومان fields
و عدد 2
را در آرگومان dim
مشخص میکنیم. خروجی structArray
، آرایهای ساختاری شامل N
فیلد (برابر با تعداد فیلدهای آرگومان ورودی fields
) است. تعداد فیلدها در ساختار به دست آمده، باید با تعداد سلولها در راستای بُعد dim
که قصد تبدیل آن را داریم، برابر باشد.
عملکرد تابع cell2table چگونه است؟
روش استفاده از این تابع، در ادامه بیان شده است.
T = cell2table(C)
T = cell2table(C,Name,Value)
عبارت T = cell2table(C)
محتویات آرایه سلولی C
با ابعاد m * n
را به جدول T
با ابعاد m * n
تبدیل میکند. به این صورت که هر ستون از C
دادههای متغیر T
را فراهم میکند.
برای ایجاد نامهای متغیر در جدول خروجی، cell2table
شماره ستونها را به نام آرایه ورودی اضافه میکند. اگر آرایه ورودی نامی نداشته باشد، cell2table
متغیرها را در قالب Var1
، … و VarN
نامگذاری میکند که در آن، N
تعداد ستونها در C
است.
عبارت T = cell2table(C,Name,Value)
جدولی را از آرایه سلولی C
میسازد همراه با گزینههایی اضافی که بهوسیله یک یا چند آرگومان زوج «نام،مقدار» (Name,Value) تعیین میشود. برای نمونه، ما میتوانیم نامهای سطر یا نامهای متغیر را برای قراردادن در جدول مشخص کنیم.
عملکرد تابع mat2cell چگونه است؟
این تابع را بهشکلی که در ادامه آمده است، میتوانیم مورد استفاده قرار دهیم.
C = mat2cell(A,dim1Dist,...,dimNDist)
C = mat2cell(A,rowDist)
عبارت C = mat2cell(A,dim1Dist,…,dimNDist)
آرایه A
را به آرایههایی کوچکتر تقسیم میکند و بهصورت آرایه سلولی بهنام C
بر میگرداند. چگونگی تقسیم سطرها، ستونها و ابعاد بالاتر A (در صورت لزوم و اگر عملی باشد) بهوسیله بردار dim1Dist,…,dimNDist
تعیین میشود. آرایههای کوچکتر در C
میتوانند اندازههای مختلفی داشته باشند. A
همچنین میتواند هر نوع دادههای را شامل شود.
عملکرد تابع struct2cell چگونه است؟
برای تبدیل ساختار به آرایه سلولی میتوانیم از تابع struct2cell
بهشکلی که در ادامه آمده است، استفاده کنیم.
C = struct2cell(S)
آرایه سلولی C
حاوی مقادیری است که از فیلدهای S
کپی شده است. با توجه داشته باشیم که تابع struct2cell
نام فیلدها را بر نمیگرداند. برای برگرداندن نام فیلدها در یک آرایه سلولی، میبایست تابع fieldnames
را بهکار ببریم.
عملکرد تابع table2cell چگونه است؟
برای تبدیل جدول یا جدول زمانی به آرایه سلولی C
، از این تابع استفاده میکنیم. نحوه استفاده از آن را در ادامه مشاهده میکنید.
C = table2cell(T)
هر متغیر موجود در جدول T
تبدیل به ستونی از سلولها در آرایه سلولی C
میشود. لازم بهذکر است که C
خصوصیات جدول در T.Properties
را در بر نمیگیرد.
- اگر T
جدولی بههمراه نامهای سطر باشد، C
نامهای مربوط به سطر را شامل نمیشود.
- اگر T
جدولزمانی (Timetable) باشد، C
زمانهای سطر را در بر نمیگیرد.
عملکرد تابع iscell چگونه است؟
اگر بخواهیم نوع ورودی را از این نظر که آرایه سلولی است یا خیر، تشخیص دهیم از تابع iscell
بهشکلی که در ادامه آمده است، استفاده میکنیم.
tf = iscell(A)
آرگومان A
آرایه ورودی از هر نوع دادهای میتواند باشد. اگر A
آرایه سلولی باشد tf
مقدار 1
یا (true)
در غیر اینصورت مقدار 0
یا false
را بر میگرداند.
عملکرد تابع num2cell چگونه است؟
عملکرد تابع num2cell
به این صورت است که آرایه A
را به آرایه سلولی C
تبدیل میکند. این کار با جایگذاری هر یک از عناصر آرایه A
درون سلول جداگانهای از آرایه سلولی C
صورت میگیرد. این تابع میتواند برای تبدیل هر نوع آرایه ای (حتی غیر عددی) نیز بهکار گرفته شود. سینتکس تابع num2cell
، در ادامه آمده است.
C = num2cell(A)
C = num2cell(A,dim)
عبارت num2cell(A,dim)
محتویات A
را در سلولهای جداگانهای از C
قرا میدهد. dim
مشخص میکند که کدام بُعد A
در هر سلول قرار میگیرد و میتواند مقداری عددی یا برداری از اَبعاد باشد. برای نمونه، اگر A
شامل ۲ سطر و ۳ ستون باشد، آنگاه مواردی که در ادامه آمده است را میتوانیم برای در نظر بگیریم.
- num2cell(A,1)
آرایه سلولی C
با ابعاد 1 * 3
را میسازد که هر سلول حاوی ستونی 2 * 1
از A
است.
- num2cell(A,2)
آرایه سلولی C
با ابعاد 2 * 1
را میسازد که هر سلول حاوی سطری 1 * 3
از A
است.
- num2cell(A,[1 2])
آرایه سلولی C
با ابعاد 1 * 1
را میسازد که این سلول حاوی کل آرایه A
است.
سوالات پر تکرار
در این قسمت، برخی از سوالات رایج در رابطه با آرایه سلولی در متلب را بههمراه پاسخ متناظر آنها، بیان کردهایم.
کاربرد آرایه سلولی در متلب چیست؟
آرایه سلولی در متلب، در مواردی مانند کار با دادههای غیرجدولی کاربرد دارد.
برای نگهداری مجموعه ای از داده با نوع متفاوت در متلب چه کنیم؟
آرایههای سلولی در متلب، میتوانند دادههای عمومی و همچنین دادههای ناهمگن بدون ساختار را نگهداری کنند.
نحوه ساخت آرایه سلولی در متلب چگونه است؟
اگر بخواهیم دادههای خود را در آرایه سلولی قرار دهیم. از عملگر ساخت آرایه سلولی، یعنی «آکولاد» استفاده میکنیم.
جمعبندی
در این مطلب از مجله تم آف، موضوع آرایه سلولی در متلب را مورد بررسی قرار دادیم و علاوه بر آشنایی با تابع cell
، نحوه ایجاد آرایه سلولی در ابعاد موردنظر و همچنین سایر موارد مرتبط با آرایه سلولی در متلب را نیز بیان کردیم.
سلولها میتوانند حاوی هر نوع داده دلخواه باشند. به این ترتیب، آرایهای از سلولها، این امکان را برای برنامه نویس فراهم میکند تا انواع مختلف دادهها را در ساختاری آرایه مانند نگهداری کنند. این توانایی، روشی عالی برای کار با دادههای واقعی محسوب میشود. آرایه سلولی در متلب، در مواردی مانند کار با دادههای غیر جدولی که میخواهیم با «شاخص» (Index) عددی به آن دسترسی داشته باشیم هم میتواند مفید باشد.