۰٪
تخفیف تمامی دوره ها مدت زمان محدود
آرایه سلولی یکی از انواع دادههای مهم در متلب میباشد که به کاربران اجازه میدهد تا آرایههای مختلفی را در یک ساختار واحد ذخیره نمایند. این نوع آرایهها میتوانند شامل اعداد، رشتهها، ماتریسها و حتی دیگر آرایههای سلولی باشند. این ویژگی باعث میشود که آرایههای سلولی بسیار منعطف و کاربردی باشند. در این صفحه به بررسی کامل آرایههای سلولی و کاربرد آنها میپردازیم.
ممکن است در نرم افزار متلب بخواهید ماتریسهایی را در زیر هم قرار دهید برای این کار باید ابعاد دو ماتریس متناسب باشد. روشی که میتوان در این حالت پیش گرفت، اضافه نمودن فاصله برای متناسب نمودن ابعاد دو ماتریس است. اما آیا این روش مناسبی است؟
یا فرض کنید، میخواهیم یک ماتریسی تشکیل دهیم که نوع درایههای این ماتریس با هم متفاوت است. به عنوان مثال میخواهیم نمرات دانش آموزان را در یک جدول وارد کنیم. اسم این دانش آموزان از نوع کاراکتر و نمره آنها از نوع عدد است.
در نرم افزار متلب (MATLAB) برای این منظور از آرایههای سلولی استفاده میشود. و در این نوع آرایه، هر سطر یا ستون میتواند ابعاد و نوع متفاوتی داشته باشد. برای مثال یک درایه میتواند یک عدد اسکالر باشد، درایه بعدی یک ماتریس با ابعاد n در n باشد. میخواهیم در ادامه نحوهی تعریف و استفاده از آرایههای سلولی را بیاموزیم.
آرایه سلولی در متلب، مشابه با ماتریسها تعریف میشود با این تفاوت که به جای پارانتز () از آکولاد {} استفاده میشود. تعریف سطر و ستونها و.. همانند ماتریسها میباشد.
A={1,2,3;'Ali',[1,2;3 4],2}
با اجرای این دستور پاسخ به صورت زیر حاصل میشود:
همانطور که مشاهده میشود هر کدام از درایهها از نوع و ابعاد متفاوتی میباشد.
همچنین میتوان برای تعریف آرایه سلولی از دستور cell استفاده کرد. برای مثال فرض کنید ما یک آرایه سلولی با سه سطر و دو ستون را میخواهیم ایجاد کنیم.
A=cell(3,2)
این دستور به صورت زیر در نرم افزار متلب اجرا میشود:
همانطور که مشاهده میشود، هر سلول دارای ابعاد 0 در 0 میباشد و حال میتوان به هریک از این سلولها، داده مورد نظر را اختصاص داد.
A{1,1}=1;
A{2,1}=2;
A{3,1}=3;
A{1,2}='Ali';
A{2,2}=[1 ,2;3,4];
A{3,2}=2;
اگر مقادیر با به آرایه سلولی A اختصاص داده شود نتیجه بصورت زیر قابل نمایش است:
به هر یک از سلولها می توان دادههایی با نوع و ابعاد متفاوت اختصاص داد.
ما در صفحه آموزشی ماتریس در متلب در مورد استخراج آرایهها صحبت نموده و اشاره کردیم برای این منظور از پارانتز استفاده میشود. در آرایه سلولی نیز میتوان از پارانتز استفاده نمود. اما دقت شود که استفاده از پارانتز خود سلول را استخراج میکند. فرض کنید ما بخواهیم از آرایه سلولی A آریه مربوط به سطر و ستون دوم را با استفاده از پارانتز () استخراج نماییم:
در صورتی که دستور را با آکولاد {} اجرا نمایید پاسخ زیر حاصل میشود:
در این صورت درایههای سلول نمایش داده میشود ولی در هنگام استفاده از پارانتز، خود سلول نمایش داده شد.
تغییر مقادیر در آرایه سلولی مشابه با تغییر مقادیر در ماتریسها است با این تفاوت که به جای پارانتز از آکولاد {} استفاده میشود.
A{2,1}=20;