آکادمی سیم پاور

گام دوازدهم: آرایه ها در متلب

گام دوازدهم: آرایه ها در متلب

در  متلب  همه متغیرها از همه انواع  داده ها آرایه چندبعدی هستند..بردار آرایه یک بعدی است و ماتریس آرایه  دو بعدی است.

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

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

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

تابع ()zeros آرایه ای تماماً  صفر ایجاد می کند:

برای مثال:

zeros(5)

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

447

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

برای مثال:

ones(4,3)

448
تابع () eye ماتریس شناسایی را ایجاد می کند.متلب عبارات بالا را اجرا خواهد کرد و نتیجه زیر را برمیگرداند:

برای مثال:

eye(4)

449
تابع ()rand آرایه ای از  توزیع یکنواخت اعداد تصادفی بر روی (0,1) ایجاد می کند:

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

برای مثال:

rand(3,5)

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

450

مربع جادویی

مربع جادویی ، مربعی است که جمع های یکسان تولید می کند، زمانی که عناصر سطر – معقول ، ستون معقول یا مورب جمع شده اند.

تابع ()magic آرایه مربعی جادویی ایجاد می کند. یک آرگومان مربعی منحصر به فرد که اندازهای از مربع داده شده است را میگیرد.

آرگومان باید عددی بزرگتر یا مساوی 3 باشد.

magic(4)

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

451

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

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

عموماً برای تولید یک آرایه چندبعدی، ما اول یک آرایه دوبعدی ایجاد می کنیم و آن را گسترش می دهیم.

برای مثال، اجازه دهید آرایه دوبعدی a را ایجاد کنیم وآن را توسعه دهیم.

برای مثال،اجازه دهید آرایه دوبعدی a را ایجاد کنیم.

a = [795; 619;432]

آرایه a آرایه 3 در 3 است; ما می توانیم بعد سوم را به a اضافه کنیم، با ایجاد ارزش هایی مانند: متلب عبارات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند.

452

a(:,:,2) = [123;456;789]


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

453

برای مثال،

b = rand(4 , 3 , 2)

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

454

نحوه اجرا در متلب برای تابع() cat است:

455

که،

  • bآرایه جدیدی است که ایجاد شده است
  • a1،a2، … آرایه های به هم پیوسته هستند
  • dim طول آرایه است که آرایه ها را به هم می چسباند

مثال

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

a = [987; 654;321];

b = [123;456;789];

c= cat(3, a, b,[231;478;390])

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

456

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

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

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

مثال ها

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

طول، بعد و تعدادی از عناصر:

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

x =[7.l,3.4,7.2,28/4,3.6,l7,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

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

457

حرکت دایره ای عناصر آرایه

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

a=[123;456;789] % the original array a

b = circshift(a,l)% circular shift first dimension values down byl.

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

%and second dimension values to the left %byl.

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

458

 

 

 

خرید کتاب 28 گام موثر در فتح متلب

سعید عربعامری
من سعید عربعامری نویسنده کتاب 28 گام موثر در فتح متلب مدرس کشوری متلب و سیمولینک و کارشناس ارشد مهندسی برق قدرتم . بعد از اینکه دیدم سایتهای متعدد یک مجموعه کامل آموزش متلب و سیمولینک ندارند به فکر راه اندازی این مجموعه شدم
http://sim-power.ir

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

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