گام دوازدهم: آرایه ها در متلب
در متلب همه متغیرها از همه انواع داده ها آرایه چندبعدی هستند..بردار آرایه یک بعدی است و ماتریس آرایه دو بعدی است.
ما در حال حاضر در مورد بردارها و ماتریس ها بحث می کنیم.در این بخش ، ما درباره آرایه های چندبعدی بحث می کنیم. اگرچه، قبل ازآن، به ما اجازه دهید درباره برخی انواع آرایه های خاص بحث کنیم.
آرایه های ویژه در متلب
در این بخش، مامی خواهیم درباره تعدادی از توابع که آرایه های ویژه را ایجاد می کنند شرح دهیم. برای تمامی توابع، آرگومان آرایه مربعی را ایجاد می کند،دو آرگومان برای آرایه مستطیلی ایجاد می شود.
تابع ()zeros آرایه ای تماماً صفر ایجاد می کند:
برای مثال:
zeros(5)
متلب عبارات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند:
تابع () ones آرایه ای از یک ها ایجاد می کند:
برای مثال:
ones(4,3)
تابع () eye ماتریس شناسایی را ایجاد می کند.متلب عبارات بالا را اجرا خواهد کرد و نتیجه زیر را برمیگرداند:
برای مثال:
eye(4)
تابع ()rand آرایه ای از توزیع یکنواخت اعداد تصادفی بر روی (0,1) ایجاد می کند:
متلب عبارات بالا را اجرا خواهد کرد و نتیجه زیر را برمیگرداند:
برای مثال:
rand(3,5)
متلب عبارات بالا را اجرا خواهد کرد و نتیجه زیر را برمیگرداند:
مربع جادویی
مربع جادویی ، مربعی است که جمع های یکسان تولید می کند، زمانی که عناصر سطر – معقول ، ستون معقول یا مورب جمع شده اند.
تابع ()magic آرایه مربعی جادویی ایجاد می کند. یک آرگومان مربعی منحصر به فرد که اندازهای از مربع داده شده است را میگیرد.
آرگومان باید عددی بزرگتر یا مساوی 3 باشد.
magic(4)
متلب عبارات بالا را اجرا خواهد کرد و نتیجه زیر را برمیگرداند:
آرایه های چندبعدی در متلب
آرایه ای که بیش از دو بعد دارد در متلب آرایه چندبعدی نامیده می شود. آرایه های چندبعدی در متلب گسترشی از ماتریس دوبعدی معمولی است.
عموماً برای تولید یک آرایه چندبعدی، ما اول یک آرایه دوبعدی ایجاد می کنیم و آن را گسترش می دهیم.
برای مثال، اجازه دهید آرایه دوبعدی a را ایجاد کنیم وآن را توسعه دهیم.
برای مثال،اجازه دهید آرایه دوبعدی a را ایجاد کنیم.
a = [795; 619;432]
آرایه a آرایه 3 در 3 است; ما می توانیم بعد سوم را به a اضافه کنیم، با ایجاد ارزش هایی مانند: متلب عبارات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند.
a(:,:,2) = [123;456;789]
همچنین ما می توانیم با استفاده از توابع ()ones() ،zeros،یا ()rand آرایه های چند بعدی ایجاد کنیم.متلب عبارات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند:
برای مثال،
b = rand(4 , 3 , 2)
همچنین ما می توانیم با استفاده از تابع ()cat آرایه های چند بعدی بسازیم. این لیستی از آرایه ها در طول بعد مشخص شده بهم پیوند می دهد:متلب عبارات بالا را اجرا خواهد کرد و نتایج زیر را برمیگرداند:
نحوه اجرا در متلب برای تابع() cat است:
که،
- bآرایه جدیدی است که ایجاد شده است
- a1،a2، … آرایه های به هم پیوسته هستند
- dim طول آرایه است که آرایه ها را به هم می چسباند
مثال
یک فایل اسکریپت ایجاد نمایید و کد زیر را تایپ کنید:
a = [987; 654;321];
b = [123;456;789];
c= cat(3, a, b,[231;478;390])
زمانی که یک فایل را اجرا کنید،این نمایش داده می شود:
توابع آرایه در متلب
متلب توابع مرتب زیر را آماده کرده است، چرخش، تغییر، تغییر شکل، تغییر مکان محتوای آرایه.
هدف | تابع |
طول بردار یا بزرگترین بعد آرایه | 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
زمانی که شما فایل را اجرا می کنید، نتیجه زیر نشان داده می شود:
حرکت دایره ای عناصر آرایه
یک فایل اسکریپت ایجاد نمایید و کد زیر را در آن وارد کنید:
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.
زمانی که شما فایل را اجرا می کنید، نتیجه زیر نشان داده می شود:
خرید کتاب 28 گام موثر در فتح متلب