برنامه نویسی و طراحی سایت

آرایه سلولی در متلب چیست؟ – به زبان ساده + تعریف و مثال

آرایه سلولی در متلب چیست؟ – به زبان ساده + تعریف و مثال

«متلب» (MATLAB)، یکی از پلتفرم‌های محبوب برنامه‌نویسی و همچنین زبان برنامه نویسی با کارایی بالا برای محاسبات فنی به‌شمار می‌رود. این نرم‌افزار، امکاناتی نظیر محاسبات، بصری‌سازی و برنامه‌نویسی در محیطی با کاربری نسبتاً آسان را برای ما فراهم می‌کند. یکی از ساختارهای موجود در زبان‌های برنامه‌نویسی، آرایه‌ها هستند که برای ذخیره داده‌ها، مورد استفاده قرار می‌گیرند. «آرایه سلولی» نیز،‌ یکی از «انواع داده‌ای» در متلب محسوب می‌شود که داده‌‌های گوناگونی را در خانه‌های ایندکس (یا نمایه) شده به‌نام سلول، نگه می‌دارد. آرایه‌ سلولی در متلب، می‌تواند حاوی فهرست‌ها، متن، اعداد یا آرایه‌های عددی در اندازه‌های گوناگون باشد. در این مطلب از مجله تم آف می‌خواهیم با آرایه‌ سلولی در متلب آشنا شویم و آن را با مثال‌های متنوع و تا حد امکان به‌طور جامع یاد بگیریم.

فهرست مطالب این نوشته
مقدمه ای بر آرایه سلولی در متلب

نوع داده های موجود در متلب کدام اند؟

آشنایی با آرایه‌های سلولی در متلب

آرایه سلولی در متلب چیست؟

روش ایجاد آرایه سلولی در متلب چیست ؟

تابع cell مربوط به آرایه سلولی در متلب چیست؟

نحوه ایجاد آرایه سلولی مربعی در متلب چگونه است؟

نحوه ایجاد ایجاد آرایه سلولی با ابعاد دلخواه در متلب چگونه است؟

نحوه ایجاد آرایه سلولی با ابعاد برداری در متلب چگونه است؟

تبدیل ساختار داده های زبان های دیگر به آرایه سلولی متلب چگونه است؟

مثال هایی از آرایه سلولی در متلب

مثالی برای ایجاد آرایه سلولی و گسترش آن در متلب

مثالی برای دسترسی به آرایه سلولی در متلب

ایجاد آرایه سلولی در متلب با ابعاد آرایه موجود چگونه است؟

نمایه سازی آرایه سلولی در مطلب چیست؟

توابع مرتبط با cell کدام اند؟

عملکرد تابع cell2mat چگونه است؟

عملکرد تابع cell2struct چگونه است؟

عملکرد تابع cell2table چگونه است؟

عملکرد تابع mat2cell چگونه است؟

عملکرد تابع struct2cell چگونه است؟

عملکرد تابع table2cell چگونه است؟

عملکرد تابع iscell چگونه است؟

عملکرد تابع num2cell چگونه است؟

سوالات پر تکرار

کاربرد آرایه سلولی در متلب چیست؟

برای نگهداری مجموعه ای از داده با نوع متفاوت در متلب چه کنیم؟

نحوه ساخت آرایه سلولی در متلب چگونه است؟

جمع‌بندی

faradars mobile

مقدمه ای بر آرایه سلولی در متلب

در این قسمت، به بیان انواع داده‌‌هایی که در نرم‌افزار متلب وجود دارند و همچنین مقدمه‌ای از آرایه‌های سلولی می‌پردازیم.

آموزش کامل برنامه نویسی کاربردی متلب – از مقدماتی تا پیشرفته
فیلم آموزش کامل برنامه نویسی کاربردی متلب – از مقدماتی تا پیشرفته در تم آف

کلیک کنید

نوع داده های موجود در متلب کدام اند؟

نرم افزار متلب، شامل نوع داده‌های گوناگونی است که در ادامه فهرست شده‌اند.

  • انواع عددی (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

را با هم مرور می‌کنیم.

ایجاد آرایه سلولی در متلب با تابع 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

 نیز از همین نوع داده خواهد بود.

تابع cell2mat در متلب
«برای مشاهده تصویر در اندازه اصلی، روی آن کلیک کنید».

نکته دیگری که لازم است به‌ آن دقت کنیم، این است که محتویات آرایه سلولی 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) تعیین می‌شود. برای نمونه، ما می‌توانیم نام‌های سطر یا نام‌های متغیر را برای قراردادن در جدول مشخص کنیم.

تابع cell2table تبدیل آرایه سلولی به جدول در متلب

عملکرد تابع 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

    زمان‌های سطر را در بر نمی‌گیرد.

تابع table2cell تبدیل جدول به آرایه سلولی در متلب

عملکرد تابع 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

    است.

سوالات پر تکرار

در این قسمت، برخی از سوالات رایج در رابطه با آرایه سلولی در متلب را به‌همراه پاسخ متناظر آن‌ها، بیان کرده‌ایم.

مجموعه آموزش نرم افزار متلب (MATLAB)
فیلم مجموعه آموزش نرم افزار متلب (MATLAB) در تم آف

کلیک کنید

کاربرد آرایه سلولی در متلب چیست؟

آرایه سلولی در متلب، در مواردی مانند کار با داده‌‌های غیرجدولی کاربرد دارد.

برای نگهداری مجموعه ای از داده با نوع متفاوت در متلب چه کنیم؟

آرایه‌های سلولی در متلب، می‌توانند داده‌های عمومی و همچنین داده‌های ناهمگن بدون ساختار را نگهداری کنند.

نحوه ساخت آرایه سلولی در متلب چگونه است؟

اگر بخواهیم داده‌های خود را در آرایه سلولی قرار دهیم. از عملگر ساخت آرایه سلولی، یعنی «آکولاد» استفاده می‌کنیم.

آرایه سلولی در متلب

جمع‌بندی

در این مطلب از مجله تم آف، موضوع آرایه سلولی در متلب را مورد بررسی قرار دادیم و علاوه‌ بر آشنایی با تابع cell

، نحوه ایجاد آرایه سلولی در ابعاد موردنظر و همچنین سایر موارد مرتبط با آرایه سلولی در متلب را نیز بیان کردیم.

مجموعه آموزش نرم افزار متلب (MATLAB)
فیلم مجموعه آموزش نرم افزار متلب (MATLAB) در تم آف

کلیک کنید

سلول‌ها می‌توانند حاوی هر نوع داده‌ دلخواه باشند. به این ترتیب، آرایه‌ای از سلول‌ها، این امکان را برای برنامه نویس فراهم می‌کند تا انواع مختلف داده‌ها را در ساختاری آرایه مانند نگهداری کنند. این توانایی، روشی عالی برای کار با داده‌های واقعی محسوب می‌شود. آرایه سلولی در متلب، در مواردی مانند کار با داده‌های غیر جدولی که می‌خواهیم با «شاخص» (Index) عددی به آن دسترسی داشته باشیم هم می‌تواند مفید باشد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.