آرایه در متلب / matlab arrays

آرایه در متلب | MATLAB Arrays7 دقیقه مطالعه

هدیه فنولوژی به شما!

در قسمت‌های قبلی دوره آموزش متلب فنولوژی،‌ در مورد بردارها در متلب و ماتریس‌ها در متلب آموختیم. در این قسمت دانش خود را وسیع‌تر می‌کنیم و به طور کلی در مورد آرایه‌ در متلب می‌‌آموزیم. بردارها آرایه‌های یک بعدی و ماتریس‌ها آرایه‌های دو بعدی هستند. اما در این قسمت در مورد آرایه‌های بیش‌ از دو بعد و آرایه‌های چندبعدی صحبت می‌کنیم. بحث را با معرفی چند آرایه‌ی معروف و کاربردی در متلب آغاز می‌کنیم.

آرایه‌های خاص در متلب

در این قسمت در مورد توابعی کاربردی صحبت می‌کنیم که آرایه‌های مخصوصی را تولید می‌کنند. در همه‌ی این توابع اگر آرگومان ورودی تابع تک عدد باشد، آن آرایه مربعی و اگر آرگومان ورودی دو عدد با کاما باشند، آرایه دو بعدی مستطیلی داریم.

تابع zeros

این تابع یک آرایه با عناصر صفر تولید می‌کند. به مثال زیر توجه کنید:

نتیجه:

تابع ones

آرایه‌ای با عناصر یک تولید می‌کند:

نتیجه:

تابع eye

یک آرایه از ماتریس همانی ایجاد می‌کند (که عناصر قطر اصلی یک و بقیه صفر هستند). به مثال زیر دقت کنید:

نتیجه:

تابع rand

این تابع یک آرایه از اعداد تصادفی با توزیع نرمال یکنواخت در بازه‌ی (۰,۱) ایجاد می‌کند:

نتیجه:

تابع magic

تابع magic آرایه‌ای مربعی ایجاد می‌کند که مجموع عناصر سطرها، ستون‌ها و قطرها، عدد ثابتی هستند. این تابع چنین ماتریس مربعی را با گرفتن یک آرگومان ورودی (که باید بزرگ‌تر مساوی ۳ باشد) ایجاد می‌کند.

مثال: تابع زیر مجموع عناصر سطری، ستونی و قطری آن همگی ۳۴ خواهد بود.

نتیجه:

آرایه‌های چند بعدی در متلب

یک آرایه در متلب که دارای بیش‌ از دو بعد باشد را آرایه‌ی چندبعدی می‌نامیم. آرایه‌های چندبعدی در متلب را معمولا از گسترش دادن ماتریس‌های دو بعدی می‌سازیم. به مثال زیر توجه کنید. ابتدا یک آرایه‌ی دو بعدی می‌سازیم:

آرایه‌ی a یک آرایه‌ی ۳ در ۳ و دو بعدی می‌باشد. می‌توانیم به این آرایه یک بعد سوم با مقادیر مشخص مانند زیر اضافه کنیم:

نتیجه را به صورت زیر مشاهده می‌کنید. که می‌توان آن را با صفحه‌ی دو بعدی ans(:,:,1) و ans(:,:,2) شبیه سازی کرد.

آرایه‌ی چندبعدی با توابع خاص

می‌توان با استفاده از توابع خاصی (ones ،zeros ،rand) که گفتیم نیز به صورت چند بعدی آرایه‌ در متلب تعریف کرد. به مثال زیر توجه کنید:

دستور بالا یک آرایه‌ی ۳ بعدی با ابعاد ۴ در ۳ در ۲ می‌سازد که به شکل زیر می‌توان آن ‌را نمایش داد:

آرایه‌ی چند بعدی با تابع cat

برای ساخت آرایه‌های چندبعدی می‌توان با استفاده از تابع cat از ترکیب کردن چند آرایه، یک آرایه‌ی چند بعدی با بعدهای مشخص شده ایجاد کرد. به سینتکس زیر دقت کنید:

در تابع بالا ‌‌B تابع جدید، A1، A2 و … آرایه‌هایی که قرار است ترکیب شوند، و dim بعدی است که قرار است این ترکیب با آن صورت بگیرد. با مثال زیر می‌توانید بهتر کاربرد این تابع را درک کنید:

با اجرای تابع، سه آرایه‌ی ۳ در ۳ دو بعدی با هم ترکیب شده و یک آرایه‌ی ۳ در ۳ در ۳ و سه بعدی را ایجاد می‌کنند.

توابع مهم برای آرایه‌ در متلب

متلب توابع زیر را برای انجام عملیات گوناگون (مرتب کردن، چرخاندن، تغییر شکل دادن، شیفت دادن و …) روی آرایه‌ها در نظر گرفته است:

تابعکاربرد
lengthطول یک بردار یه بزرگ‌ترین بعد یک آرایه
ndimsتعداد بعدهای یک آرایه
numelتعداد عناصر یک آرایه
sizeابعاد یک آرایه
iscolumnبررسی می‌کند که آیا ورودی از نوع بردار ستونی است یا خیر
isemptyبررسی می‌کند که آرایه خالی است یا خیر
ismatrixبررسی می‌کند آیا ورودی ماتریس است یا خیر
isrowبررسی می‌کند آیا ورودی آرایه‌ی سطری است یا خیر
isscalarبررسی می‌کند آیا ورودی عدد اسکالر است یا خیر
isvectorبررسی می‌کند آیا ورودی بردار است یا خیر
blkdiagماتریس قطری بلوکی را با آرگومان‌های ورودی می‌سازد.
circshiftآرایه‌ را به صورت دایره‌ای شیفت می‌دهد.
ctransposeترانهاده‌ی مزودج مختلط را محاسبه می‌کند.
diagعناصر قطری ماتریس را بر می‌گرداند.
flipdimآرایه‌ را نسبت به یک بعد خاص قرینه می‌کند.
fliplrماتریس را از چپ به راست قرینه می‌کند.
flipudماتریس را از بالا به پایین قرینه می‌کند.
ipermuteابعاد جایگشت‌های ماتریس n بعدی را معکوس می‌کند.
permuteابعاد آرایه‌ی n بعدی را مرتب می‌کند.
repmatآرایه را با ابعاد خواسته شده تکرار می‌کند
reshapeآرایه‌ را تغییر شکل می‌دهد (تغییر ابعاد)
rot90ماتریس را ۹۰ درجه می‌چرخاند
shiftdimابعاد آرایه را شیفت می‌دهد.
issortedبررسی می‌کند عناصر آرایه به ترتیب باشند.
sortعناصر آرایه را مرتب می‌کند.
sortrowsسطرها را از کوچک به بزرگ مرتب می‌کند.
squeezeابعاد یگانه را حذف می‌کند.
transposeترانهاده آرایه در متلب
vectorizeعبارت را تبدیل به بردار می‌کند.

در ادامه برخی از توابع بالا که پرکاربرد هستند را با مثال بیش‌تر توضیح می‌دهیم.

طول، ابعاد و تعداد عناصر در یک آرایه

در مثال زیر به ترتیب طول، ابعاد و تعداد عناصر آرایه‌های داده شده را مشاهده می‌کنید:

نتایج:

شیفت دایره‌ای عناصر آرایه در متلب

به کدهای زیر توجه کنید. در ماتریس b، عناصر a همه‌ی سطرها یک واحد به سمت پایین شیفت پیدا کرده‌اند و در ماتریس c، عناصر a همگی یک سطر به پایین و یک ستون به چپ شیفت پیدا کرده‌اند.

نتایج:

 

 

 

 

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

به مثال‌های زیر از کاربرد تابع sort توجه کنید. در حالت اول عناصر بردار v از کوچک به بزرگ مرتب شده‌اند. در حالت دوم ماتریس m حول سطرهای خود مرتب شده و در حالت سوم ماتریس m حول ستون‌های خود مرتب شده است:

نتایج:

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

آرایه‌های سلولی، در اصل آرایه‌هایی از سلول‌های ایندکس گذاری شده هستند که هر سلول می‌تواند یک آرایه از ابعاد و دیتا تایپ متفاوت در خود ذخیره کند. تابع cell برای ساخت آرایه‌ی سلولی مورد استفاده قرار می‌گیرد. به سینتکس زیر توجه کنید:

در سینتکس بالا، C آرایه‌ی سلولی ما و dim یک عدد صحیح یا برداری از اعداد صحیح است که ابعاد آرایه‌ی سلولی را تعیین می‌کنند. obj نیز یک آرایه از نوع جاوا (یا شیئ) و یا از نوع NET. (System.String یا System.Object) می‌باشد.

مثال: به آرایه‌ی سلولی ۲ در ۵ زیر دقت کنید:

با اجرای کد بالا به نتایج زیر خواهید رسید:

ارجاع به داده‌های آرایه‌ سلولی

دو راه برای ارجاع به المان‌های آرایه‌های سلولی در متلب وجود دارد:

  • استفاده از پرانتز برای ارجاع به مجموعه‌ای از سلول‌ها
  • استفاده از آکولاد برای ارجاع به داده‌های داخل یک سلول مشخص

مثال از حالت اول: اشاره به مجموعه سلول‌های سطر ۱ و ۲ و ستون ۱ و ۲.

نتیجه:
مثال دوم: ارجاع به دیتای سلول‌های سطر اول و ستون دوم تا چهارم.
نتیجه:
تیم محتوایی فنولوژی
تیم محتوایی فنولوژی
گروهی از متخصصان حوزه‌های مختلف
از یادگیری تا استخدام با دوره‌های متخصص سون‌لرن
عضویت
اطلاع از
0 دیدگاه‌ها
بازخورد در متن
دیدن همه دیدگاه‌ها

فنولوژی را در شبکه‌های اجتماعی دنبال کنید

©۲۰۲۰ – کلیه حقوق مادی و معنوی متعلق به فنولوژی است.