ایجاد یک ماتریس چند بعدی در متلب
متلب راه های مختلفی را برای ایجاد ماتریس های چند بعدی ارائه می دهد. اولین راه این است که از متلب درخواست کنیم که آن را برای ما ایجاد کند و به وسیله ی صفرها عناصر آن را پر کند. تابع ()zeros به ما کمک می کند که این کار را انجام دهیم. بعنوان مثال برای ایجاد یک ماتریس 2x3x3 عبارت (aj = zeros(2, 3, 3 را تایپ کنید و کلید Enter را فشار دهید. خروجی زیر ظاهر خواهد شد:
آنچه در خروجی نمایش یافته، به ما می فهماند که سه دسته ماتریس وجود دارند که هرکدام از آنها به وسیله ی صفرها پر شده اند. ممکن است که شما نخواهید با یک ماتریس پر شده از صفر، شروع به کار کنید. بنابراین می توانید از یک روش دیگر استفاده کنید. گام های زیر را انجام دهید تا بتوانید یک ماتریس 2x3x3 که به وسیله ی داده ها پر شده است را ایجاد کنید:
1. عبارت [ak(:,:,1) = [1, 2, 3; 4, 5, 6 را در متلب تایپ کنید و کلید Enter را فشار دهید، نتیجه ی زیر ظاهر خواهد شد:
این گام باعث می شود که اولین لایه از ماتریس سه بعدی ایجاد شود. و ما نیاز به سه لایه داریم، بنابراین در کل نیاز داریم این گام را سه بار انجام دهیم.
2. عبارت [ak(:,:,2) = [7, 8, 9; 10, 11, 12 را تایپ کنید و کلید Enter را فشار دهید. همان طور که مشاهده می کنید متلب یک لایه ی دیگر را نیز اضافه می کند:
اکنون اگر به پنجره ی Workspace دقت کنید، مشاهده می کنید که ستون size برای ak به صورت 2x3x3 است. قبل از اینکه شما گام دوم را انجام دهید، متلب این ماتریس را صرفا یک ماتریس 2x3 در نظر می گرفت. اما اکنون از بعد سوم نیز استفاده شده است.
3. عبارت [ak(:,:,3) = [13, 14, 15; 16, 17, 18 را تایپ کنید و کلید Enter را فشار دهید.
اکنون این خروجی بسیار شبیه خروجی متغیر aj می باشد با این تفاوت که درایه ها دارای مقدار هستند:
شما مجبور نیستید که با انجام انتساب های متعدد مقادیری را به درایه ها انتساب دهید. زیرا تابع ()cat به ما این امکان را می دهد تا در یک گام، تمام ماتریس سه بعدی را ایجاد کنیم. اولین پارامتری که باید برای تابع ()cat در نظر بگیرید عبارت است از تعداد بُعد های ماتریس مَد نظر. سپس برای هر بعد، مقادیر را مشخص می کنید به طوری که با کاما از یکدیگر جدا شوند. برای امتحان کردن این موضوع عبارت
([al = cat(3, [1, 2, 3; 4, 5, 6], [7, 8, 9; 10, 11, 12], [13, 14, 15;16, 17, 18 را در متلب تایپ کنید و کلید Enter را فشار دهید، یک خروجی مانند خروجی ماتریس ak را مشاهده خواهید کرد:
یادآوری: همچنین ممکن است شما نخواهید این همه عناصر را تایپ کنید و همچنین نخواهید از صفرها استفاده کنید. در این مورد می توانید از تابع ()randn برای ایجاد داده های تصادفی با توزیع نرمال، استفاده کنید و یا از تابع ()rand برای داده های توزیع شده ی یکنواخت استفاده کنید. این تابع درست مانند تابع ()zeros عمل می کند اما درایه ها را با اعداد یا داده های تصادفی پر می کند.
برای اینکه ببینید این تابع چگونه کار می کند، عبارت (am = randn(2, 3, 3 را تایپ کنید و کلید Enter را فشار دهید. در خروجی، یک آرایه ی سه بعدی که با اعداد تصادفی پر شده است را مشاهده خواهید کرد. خروجی چیزی شبیه زیر خواهد بود اما به دلیل تصادفی بودن داده ها ممکن است نتیجه ی شما متفاوت باشد:
- نوشته شده توسط احسان عباسی
- بازدید: 28508