آرایه ها در زبان متلب – آموزش متلب

  • چهارشنبه ۲۷ اسفند ۱۳۹۹
  • بازدید ۱,۱۵۷ نفر

تصویر matlab-arrays_4479 آرایه ها در زبان متلب - آموزش متلب

آرایه ها در زبان متلب

در زبان برنامه نویسی متلب تمام نوع داده ها آرایه های چند بعدی هستند. نوع داده وکتور یک آرایه تک بعدی و ماتریس هم یک آرایه دو بعدی است. در بخش های قبلی Vector ها و Matrix ها را بررسی کردیم. در این بخش آرایه های چند بعدی را بررسی خواهیم کرد. اما قبل از آن که وارد بحث آرایه های چند بعدی شویم، باید با برخی از نوع داده های ویژه در MATLAB آشنا شویم.

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

در این بخش تعدادی از توابع موجود در متلب که به منظور ایجاد آرایه های ویژه استفاده می شوند را بررسی می کنیم. اگر به این توابع یک آرگومان داده شود، آرایه مربعی ایجاد می شود و اگر دو آرگومان داده شود، آرایه مستطیلی ایجاد می شود.

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

خروجی:

تابع ones() یک آرایه از یک ها ایجاد می کند. برای مثال:

خروجی:

تابع eye() یک ماتریس همانی ایجاد می کند. برای مثال:

خروجی:

تابع rand() یک آرایه از اعداد تصادفی در رنج (0, 1) ایجاد می کند. برای مثال:

خروجی:

مربع جادویی

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

خروجی:

اگر به خروجی توجه کنید نتیجه جمع سطر اول می شود 34. همچنین نتیجه جمع ستون اول نیز می شود 34 و نتیجه جمع قطر اصلی نیز برابر با 34 می شود.

آرایه های چند بعدی

در متلب آرایه ای که بیش از یک بعد داشته باشد را آرایه چند بعدی می نامند. به طور کلی به منظور ایجاد یک آرایه چند بعدی، ابتدا یک آرایه دو بعدی ایجاد و سپس گسترش می یابد. از این رو در متلب آرایه چند بعدی را extension (یعنی چیزی که اضافه می شود) آرایه دو بعدی در نظر می گیرند. برای مثال یک آرایه دو بعدی ایجاد می کنیم:

خروجی:

آرایه فوق یک آرایه 3 در 3 است. ما می توانیم به شکل زیر یک بعد سوم نیز به آن اضافه کنیم:

خروجی:

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

خروجی:

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

که در آن:

  • B: آرایه ای که ایجاد می شود
  • dim: بعد آرایه جدید
  • A1, A2, …: آرایه هایی که باید به هم وصل شوند

مثال:

یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن بنویسید:

خروجی:

توابع آرایه

در جدول زیر می توانید برخی از توابعی که زبان متلب برای کار با آرایه ارائه می دهد را مشاهده کنید.

تابع

هدف

lengthطول وکتور یا بزرگترین بعد آرایه را باز میگرداند
ndimsتعداد بعد آرایه را باز میگرداند
numelتعداد عناصر آرایه را باز میگرداند
sizeاندازه ابعاد آرایه را باز میگرداند
iscolumnمشخص می کند که آیا ورودی یک وکتور ستونی است یا خیر
isemptyمشخص می کند که آیا آرایه خالی است یا خیر
ismatrixمشخص می کند که آیا ورودی یک ماتریس است یا خیر
isrowمشخص می کند که آیا ورودی یک وکتور سطری است یا خیر
isscalarمشخص می کند که آیا ورودی یک مقدار اسکالر است یا خیر
isvectorمشخص می کند که آیا ورودی یک وکتور است یا خیر
blkdiagایجاد ماتریس مورب از مقادیر ورودی
circshiftآرایه را به شکل دایره ای شیفت می دهد
ctransposeمحاسبه مزدوج ماتریس
flipdimآرایه را در امتداد بعد مشخص شده می چرخاند
fliplrماتریس را از چپ به راست می چرخاند
flipudماتریس را از بالا به پایین می چرخاند
reshapeتغییر شکل آرایه
rot90چرخش 90 درجه ای ارایه
shiftdimشیفت دادن ابعاد
issortedمشخص می کند که آیا عناصر مرتب شده هستند یا خیر
sortعناصر آرایه را به صورت صعودی یا نزولی مرتب می کند
sortrowsسطرها را به صورت صعودی مرتب می کند
transposeترانهاده کردن
vectorizeوکتور کردن

مثال ها

مثال های زیر کاربرد برخی از توابع گفته شده در جدول بالا را نشان می دهد.

مثال 1:

یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن بنویسید:

خروجی:

مثال 2:

یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن بنویسید:

خروجی:

مثال 3:

یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن بنویسید:

خروجی:

آرایه سلولی

آرایه های سلولی، آرایه هایی هستند که  هر یک از سلول های آن می تواند یک آرایه دیگر با بعد و نوع داده دیگر را در خود نگه دارد. تابع cell() به منظور ایجاد آرایه سلولی استفاده می شود. سینتکس مربوط به تابع cell():

مثال:

یک فایل اسکریپتی ایجاد کرده و کد زیر را در آن بنویسید:

خروجی:

دسترسی به عناصر آرایه سلولی

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

  • محصور کردن اندیس ها در () برای دسترسی به مجموعه ای عناصر
  • محصور کردن اندیس ها در {} برای دسترسی به داده های داخل یک سلول خاص

مثال 1:

خروجی:

مثال 2:

خروجی:

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است