menusearch
javapro.ir

جلسه دوازدهم | آرایه‌‌‌‌های چندبعدی در متلب

جستجو
پنج شنبه ۱۱ آذر ۱۴۰۰ | ۰:۱۲:۳۶
۱۴۰۰/۸/۲۳ یکشنبه
(5)
(0)
جلسه دوازدهم | آرایه‌‌‌‌های چندبعدی در متلب
جلسه دوازدهم | آرایه‌‌‌‌های چندبعدی در متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌‌‌‌‌های چندبعدی در متلب

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

جلسه شانزدهم | رسم نمودار دوبعدی در متلب

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

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

 

 

آموزش برنامه نویسی متلب
موضوع:آرایه‌‌‌‌های چندبعدی در متلب
جلسه: دوازدهم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

 

 

در ادامه مبحث جلسه گذشته یعنی آرایه سلول ها دیدیم در این جلسه می‌خواهیم ابتدا به تعریف آرایه‌‌‌‌های چند بعدی و آرایه سلول‌‌‌‌های چند بعدی بپردازیم و سپس به سراغ مبحث ساختارها یا structure ها می‌رویم.
در متلب امکان تعریف ماتریس ها با بعد سه به بالا نیز وجود دارد. برای درک این موضوع به دیاگرام زیر که نمایش گرافیکی یک ماتریس سه بعدی است، نگاه کنید:

 

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

 


اگر فرض کنیم این ماتریس m*n*p باشد، در واقع تشکیل یافته از p ماتریس m*n است. با توجه به عکس بالا می‌توان تصور نمود که ماتریس سه بعدی را لایه‌‌‌‌های مختلفی تشکیل داده اند، به هریک از این لایه ها یک صفحه،page، گفته می‌شود.
دو بعد اول ماتریس سه بعدی همانند ماتریس دوبعدی است، بعد سوم مربوط به شماره صفحه است. بنابرین ماتریس دوبعدی را می‌توان حالت خاص ماتریس سه بعدی با اندازه بعد سوم یک، درنظرگرفت. برای ایجاد یک ماتریس سه بعدی می‌توان ابتدا یک ماتریس معمولی تعریف نمود و سپس آن را توسعه داد:

 

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


اکنون این ماتریس صفحه اول ماتریس سه بعدی را تشکیل داده است، صفحه دوم را به آن می-افزاییم. برای این منظور یک ماتریس 3در3 دیگر را تعریف نموده و به شکل زیر به صفحه دوم ماتریس تخصیص می‌دهیم:

 

>>M(:,:,2) = ones(3,3);


بنابراین به اندیس‌‌‌‌های ماتریس یک مؤلفه اضافه گردید. برای دسترسی به درایه‌‌‌‌های یک ماتریس سه بعدی باید از سه اندیس که دو اندیس اول مشابه یک آرایه معمولی است و اندیس آخر شماره صفحه را تعیین می‌کند.

 

>>M(1,1,1)
ans =
    1
>>M(1,1,2)
ans =
    1


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

 

>>M
M(:,:,1) =
    1    2    3
    4    5    6
    7    8    9
M(:,:,2) =
    1    1    1
    1    1    1
    1    1    1


راه دیگر برای گسترش ابعاد آرایه، این است که یک اسکالر،مثلا صفر، را به تمام عناصر صفحه اختصاص دهیم:

 

>>M(:,:,2) = 0
M(:,:,1) =
    1    2    3
    4    5    6
    7    8    9
M(:,:,2) =
    0    0    0
    0    0    0
    0    0    0

 

به همین ترتیب یک آرایه چهار بعدی را به شکل زیر تعریف می‌کنیم:

 

>>M(2,2,2,2) = 1
M(:,:,1,1) =
    0    0
    0    0
M(:,:,2,1) =
    0    0
    0    0
M(:,:,1,2) =
    0    0
    0    0
M(:,:,2,2) =
    0    0
    0    1


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

 

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


فرض کنیم که به عناصر ستون اول و آخر همه صفحات می‌خواهیم دسترسی داشته باشیم، برای این منظور به طریق زیر عمل می‌کنیم:

 

>>M(:,[1 end],:)
ans(:,:,1) =
    1    3
    4    6
    7    9
ans(:,:,2) =
  -1  -3
  -4  -6
  -7  -9


یا اینکه اگر فقط سطر‌‌‌‌های دوم و سوم همه صفحات را بخواهیم مشاهده کنیم:

 

>>M([2 3],:,:)
ans(:,:,1) =
    4    5    6
    7    8    9
ans(:,:,2) =
  -4  -5  -6
  -7  -8  -9

 

دستور size را برای M به کارمی بریم:

 

>>size(M)
ans =
    3    3    2


- دستور ndims(A):
تعداد بعد‌‌‌‌های آرایه A را برمی گرداند:

 

>>ndims(M)
ans =
    3


- reshape():
قبلاً نیز با این آَشنا شده ایم، ابعاد آرایه را تغییر می‌دهد یا برای کاهش یا افزایش بعد آرایه ها می‌توان از آن استفاده نمود:

 

>>reshape(M,2,3,3)
ans(:,:,1) =
    1    7    5
    4    2    8
ans(:,:,2) =
    3    9  -4
    6  -1  -7
ans(:,:,3) =
  -2  -8  -6
  -5  -3  -9


- permute(A,order):
فرض کنید ماتریس 2در2 A را، به شکل زیر تعریف کنیم:

 

>>A = [1 2;3 4]
A =
    1    2
    3    4


دستور فوق برای جابجایی ترتیب ابعاد به کار می‌رود. مثلا اگر بخواهیم جای سطرها و ستون ها را در ماتریس فوق عوض کنیم داریم:

 

>>permute(A,[2 1])
ans =
    1    3
    2    4


البته برای حالت دوبعدی این معادل ترانهاده بوده که با عملگر "’" نیز قابل انجام بود. اما این عملگر برای ابعاد بالاتر تعریف نشده-است. مثلا آرایه 3در3 زیر را درنظربگیرید:

 

>>M
M(:,:,1) =
    1    2    3
    4    5    6
    7    8    9
M(:,:,2) =
  -1  -2  -3
  -4  -5  -6
  -7  -8  -9


می توان برای مثال جای بعد سوم و دوم را تغییر داد:

 

>>permute(M,[1 3 2])
ans(:,:,1) =
    1  -1
    4  -4
    7  -7
ans(:,:,2) =
    2  -2
    5  -5
    8  -8
ans(:,:,3) =
    3  -3
    6  -6
    9  -9


برای درک بهتر تغییر فوق، می‌توان این گونه تصور نمود که ماتریس M اصلی را 90 درجه به-طور چپ گرد دوران داده ایم.

 

- cat(dim,A,B,C,…):


این دستور اتصال آرایه ها به همدیگر به کار می‌رود. علت این که این دستور را این جا معرفی کردیم، این است که یک راه تشکیل آرایه‌‌‌‌های چندبعدی این دستور است. عبارت dim بعد را مشخص می‌کند. می‌توان دو یا چند آرایه را با هم ترکیب کرد. برای روشن شدن موضوع، با یک مثال ساده برای دو ماتریس 2در2 زیر شروع می‌کنیم:

 

A =
    1    2
    3    4
B =
    5    6
    7    8


عبارت cat(1,A,B) دو ماتریس A و Bرا به نحوی کنار یکدیگر قرار می‌دهد که بعد اول یعنی سطر‌‌‌‌های ماتریس A، گسترش یابد. به عبارت دیگر B در زیر A قرار بگیرد:

 

>>cat(1,A,B)
ans =
    1    2
    3    4
    5    6
    7    8


اما عبارت cat(2,A,B)، بعد دوم یعنی همان سطر‌‌‌‌های ماتریس اول ،A، را گسترش می‌دهد. یعنی تعداد ستون‌‌‌‌های ماتریس کلی مجموع ستون-‌‌‌‌های دوماتریس اولیه است.

 

>>cat(2,A,B)
ans =
    1    2    5    6
    3    4    7    8


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

 

>>cat(3,A,B)
ans(:,:,1) =
    1    2
    3    4
ans(:,:,2) =
    5    6

 

پیروز و موفق باشید


ادامه حیات سایت جاواپرو به حمایت مالی (دونیت) از طرف شما کاربر عزیز بستگی دارد....


 

جلسه دوازدهم | آرایه‌‌‌‌های چندبعدی در متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر