آموزش آسان Array در متلب

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

آرایه های ویژه در MATLAB

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

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

Live Demo

zeros(5)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند

ans =

۰ ۰ ۰ ۰ ۰

۰ ۰ ۰ ۰ ۰

۰ ۰ ۰ ۰ ۰

۰ ۰ ۰ ۰ ۰

۰ ۰ ۰ ۰ ۰

تابع ones مقادیر یک را برمی گرداند برای مثال:

Live Demo

ones(4,3)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند –

ans =

۱ ۱ ۱

۱ ۱ ۱

۱ ۱ ۱

۱ ۱ ۱

تابع eye یک ماتریس تطابقی ایجاد می کند. به عنوان مثال:

Live Demo

eye(4)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند –

ans =

۱ ۰ ۰ ۰

۰ ۱ ۰ ۰

۰ ۰ ۱ ۰

۰ ۰ ۰ ۱

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

Live Demo

rand(3, 5)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند –

ans =

۰٫۸۱۴۷ ۰٫۹۱۳۴ ۰٫۲۷۸۵ ۰٫۹۶۴۹ ۰٫۹۵۷۲

۰٫۹۰۵۸ ۰٫۶۳۲۴ ۰٫۵۴۶۹ ۰٫۱۵۷۶ ۰٫۴۸۵۴

۰٫۱۲۷۰ ۰٫۰۹۷۵ ۰٫۹۵۷۵ ۰٫۹۷۰۶ ۰٫۸۰۰۳

A Magic Square

یک آرایه تولید می کند که جمع مقادیر تمام سطر و ستون و قطر ها با هم برابر است.

بیشتر بخوانید :   روش آبکاری با قلع

اندازه این آرایه باید برابر یا بزرگتر از سه باشد.

Live Demo

magic(4)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند –

ans =

۱۶ ۲ ۳ ۱۳

۵ ۱۱ ۱۰ ۸

۹ ۷ ۶ ۱۲

۴ ۱۴ ۱۵ ۱

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

آرایه ای که دارای بیش از دو بعد باشد، در MATLAB یک آرایه چند بعدی نامیده می شود. به طور کلی برای ساخت یک آرایه چند بعدی، ابتدا یک آرایه دو بعدی ایجاد کرده و آن را گسترش دهیم. برای مثال، بیایید یک آرایه دو بعدی ایجاد کنیم.

Live Demo

a = [7 9 5; 6 1 9; 4 3 2]

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند

a =

۷ ۹ ۵

۶ ۱ ۹

۴ ۳ ۲

آرایه a یک آرایه ۳ در ۳ است؛ ما می توانیم بعد سوم را به a اضافه کنیم

Live Demo

a(:, :, 2)= [ 1 2 3; 4 5 6; 7 8 9]

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند –

a =

ans(:,:,1) =

۰ ۰ ۰

۰ ۰ ۰

۰ ۰ ۰

ans(:,:,2) =

۱ ۲ ۳

۴ ۵ ۶

۷ ۸ ۹

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

Live Demo

b = rand(4,3,2)

MATLAB دستور فوق را اجرا می کند و نتیجه زیر را برمی گرداند

b(:,:,1) =

۰٫۰۳۴۴ ۰٫۷۹۵۲ ۰٫۶۴۶۳

۰٫۴۳۸۷ ۰٫۱۸۶۹ ۰٫۷۰۹۴

۰٫۳۸۱۶ ۰٫۴۸۹۸ ۰٫۷۵۴۷

۰٫۷۶۵۵ ۰٫۴۴۵۶ ۰٫۲۷۶۰

b(:,:,2) =

۰٫۶۷۹۷ ۰٫۴۹۸۴ ۰٫۲۲۳۸

۰٫۶۵۵۱ ۰٫۹۵۹۷ ۰٫۷۵۱۳

۰٫۱۶۲۶ ۰٫۳۴۰۴ ۰٫۲۵۵۱

۰٫۱۱۹۰ ۰٫۵۸۵۳ ۰٫۵۰۶۰

ما همچنین می توانیم از تابع cat برای ساخت آرایه های چند بعدی استفاده کنیم. این تابع یک لیست از آرایه ها را از سمت بعد مشخصی به هم وصل می کند. نحوه استفاده بصورت زیر است:

B = cat(dim, A1, A2…)

  • B آرایه جدید ایجاد شده است
  • A1، A2، …، آرایه هایی هستند که باید به یکدیگر متصل شوند
  • dim بعدی است که در آن آرایه ها به یکدیگر متصل می شوند

مثال

یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن وارد کنید –

Live Demo

a = [9 8 7; 6 5 4; 3 2 1];

b = [1 2 3; 4 5 6; 7 8 9];

c = cat(3, a, b, [ 2 3 1; 4 7 8; 3 9 0])

وقتی فایل اجرا می شود نتیجه زیر را می بینید:

c(:,:,1) =

۹ ۸ ۷

۶ ۵ ۴

۳ ۲ ۱

c(:,:,2) =

۱ ۲ ۳

۴ ۵ ۶

۷ ۸ ۹

c(:,:,3) =

۲ ۳ ۱

بیشتر بخوانید :   آشنایی با درجه بندی الماس زرد توسط GIA

۴ ۷ ۸

۳ ۹ ۰

توابع آرایه

MATLAB توابع زیر امکان مرتب کردن، چرخش، پیمایش، تغییر شکل یا تغییر محتوی آرایه را فراهم می کند.

تابع هدف
Length طول بردار یا بزرگترین بعد آرایه
Ndims تعداد ابعاد آرایه
Numel تعداد عناصر آرایه
Size ابعاد آرایه
Iscolumn تعیین اینکه آیا ورودی بردار ستونی است یا خیر
Isempty تعیین اینکه آرایه خالی است
Ismatrix تعیین اینکه ورودی ماتریس است
Isrow تعیین اینکه ورودی بردار سطری است
Isscalar تعیین اینکه ورودی اسکالر است
Isvector تعیین اینکه ورودی بردار است
Blkdiag ساخت ماتریس مورب از مقادیر ورودی
Circshift شیفت آرایه ها به شکل دایره ای
Ctranspose محاسبه مزدوج ماتریس
Diag ماتریس های مورب و قطر ماتریس
Flipdim فیلپ آرایه در راستای یک بعد مشخص
Fliplr فلیپ ماتریس از چپ به راست
Flipud فیلیپ ماتریس از بالا به پایین
Ipermute پیمایش معکوس ابعاد آرایه
Permute چیدن مجدد آرایه و با جابجایی سطر وستون
Repmat تکرار آرایه
Reshape آرایه ها را تغییر شکل می دهد
rot90 چرخش نود درجه ای آرایه
Shiftdim شیفت ابعاد آرایه
Issorted تعیین اینکه آیا عناصر مجموعه مرتب شده اند
Sort مرتب سازی عناصر آرایه به ترتیب صعودی یا نزولی
Sortrows مرتب سازی بر اساس ترتیب صعودی
Squeeze حذف تک تک عناصر
transpose انتقال
vectorize تبدیل عبارات به بردار

مثال ها

مثال های زیر برخی از توابع ذکر شده در بالا را نشان می دهد:

توابع:

Length, Dimension and Number of elements

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

Live Demo

x = [7.1, 3.4, 7.2, 28/4, 3.6, 17, 9.4, 8.9];

length(x)% length of x vector

y = rand(3, 4, 5, 2);

ndims(y)% no of dimensions in array y

s = [‘Zara’, ‘Nuha’, ‘Shamim’, ‘Riz’, ‘Shadab’];

numel(s)% no of elements in s

هنگام اجرای فایل، نتیجه زیر نمایش داده می شود

ans = 8

ans = 4

ans = 23

توابع:

Circular Shifting of the Array Elements −

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

Live Demo

a = [1 2 3; 4 5 6; 7 8 9]% the original array a

b = circshift(a,1)% circular shift first dimension values down by 1.

c = circshift(a,[1 -1])% circular shift first dimension values % down by 1

% and second dimension values to the left % by 1.

هنگام اجرای فایل، نتیجه زیر نمایش داده می شود:

a =

۱ ۲ ۳

۴ ۵ ۶

۷ ۸ ۹

b =

۷ ۸ ۹

۱ ۲ ۳

۴ ۵ ۶

c =

۸ ۹ ۷

۲ ۳ ۱

۵ ۶ ۴

مرتب سازی آرایه ها

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

بیشتر بخوانید :   آموزش انواع رسانه در CSS به زبان ساده

Live Demo

v = [ 23 45 12 9 5 0 19 17]% horizontal vector

sort(v)% sorting v

m = [2 6 4; 5 3 9; 2 0 1]% two dimensional array

sort(m, 1)% sorting m along the row

sort(m, 2)% sorting m along the column

هنگام اجرای فایل، نتیجه زیر نمایش داده می شود:

v =

۲۳ ۴۵ ۱۲ ۹ ۵ ۰ ۱۹ ۱۷

ans =

۰ ۵ ۹ ۱۲ ۱۷ ۱۹ ۲۳ ۴۵

m =

۲ ۶ ۴

۵ ۳ ۹

۲ ۰ ۱

ans =

۲ ۰ ۱

۲ ۳ ۴

۵ ۶ ۹

ans =

۲ ۴ ۶

۳ ۵ ۹

۰ ۱ ۲

Cell Array

آرایه های سلولی آرایه هایی از سلول ها هستند که هر سلول می تواند یک آرایه از ابعاد مختلف و انواع داده را ذخیره کند. استفاده بصورت زیر است

C = cell(dim)

C = cell(dim1,…,dimN)

D = cell(obj)

  • C  آرایه سلولی است
  • dim  یک مقدار صحیح اسکالر یا برداری است که ابعاد آرایه c را معلوم می کند
  • dim1, …, dimN  مقادیر اسکالر که ابعاد آرایه c را مشخص می کنند
  • obj  یکی از دو عبارت زیر است
    • آرایه یا یک شی جاوا
    • آرایه.NET از نوع System.String or System.Object

مثال

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

Live Demo

c = cell(2, 5);

c = {‘Red’, ‘Blue’, ‘Green’, ‘Yellow’, ‘White’; 1 2 3 4 5}

هنگام اجرای فایل، نتیجه زیر نمایش داده می شود:

c =

{

[۱,۱] = Red

[۲,۱] = ۱

[۱,۲] = Blue

[۲,۲] = ۲

[۱,۳] = Green

[۲,۳] = ۳

[۱,۴] = Yellow

[۲,۴] = ۴

[۱,۵] = White

[۲,۵] = ۵

}

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

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

  • مشخص کردن ایندکس در براکت اول، برای اشاره به مجموعه سلول ها
  • مشخص کردن ایندکس در داخل بریس {}، برای ارجاع به داده ها در سلول های فردی

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

Live Demo

c = {‘Red’, ‘Blue’, ‘Green’, ‘Yellow’, ‘White’; 1 2 3 4 5};

c(1:2,1:2)

MATLAB دستور بالا را اجرا می کند و نتیجه زیر را برمی گرداند:

ans =

{

[۱,۱] = Red

[۲,۱] = ۱

[۱,۲] = Blue

[۲,۲] = ۲

}

همچنین می توانید به محتویات سلول ها با استفاده ازبریس{} دسترسی پیدا کنید.به عنوان مثال:

Live Demo

c = {‘Red’, ‘Blue’, ‘Green’, ‘Yellow’, ‘White’; 1 2 3 4 5};

c{1, 2:4}

MATLAB دستور فوق را اجرا می کند و نتیجه زیر را برمی گرداند

ans = Blue

ans = Green

ans = Yellow

ساسان سروشه

نوشته‌های مرتبط

دیدگاه‌ها

*
*