متلب

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

اساطیر زبان

تمام متغیرهای همه نوع داده ها در MATLAB آرایه های چند بعدی هستند. یک بردار آرایه یک بعدی است و یک ماتریس یک آرایه دو بعدی است. در این جا ما آرایه های چند بعدی را مورد بحث قرار خواهیم داد. با این حال، قبل از آن، اجازه دهید ما راجع به انواع خاصی از آرایه ها صحبت کنیم.

آرایه های ویژه در 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) =

۲ ۳ ۱

۴ ۷ ۸

۳ ۹ ۰

توابع آرایه

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 =

۸ ۹ ۷

۲ ۳ ۱

۵ ۶ ۴

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

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

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

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

1 دیدگاه. ارسال دیدگاه جدید

  • باسلام و احترام
    ممنونم از اشتراک گزاری خوب و کاربردی.
    من ۲۰ تا فایل txt دارم که در این فایلها، ۴ ستون اعداد (تقریبا ۱۰ هزار عدد) وجود دارد. میخوام هر یک از ستونها رو داخل ۱ سلول قرار بدم و بعد در ستون بعدی یک عدد ۰ یا ۱ قرار بدم . این کار رو می خواهم برای هر ۲۰ فایل txt انجام بدم.
    لطفا راهنمایی بفرمایید.
    با تشکر

    پاسخ

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

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

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست