ماتریس همانی در متلب
ماتریس همانی یکی از مهمترین انواع ماتریسها در جبر خطی است و کاربردهای گستردهای در ریاضیات، علوم کامپیوتر، و مهندسی دارد. ماتریس همانی نقش اساسی در حل معادلات خطی دارد. در معادلاتی که بصورتAx = b است، به شرط اینکه A معکوسپذیر باشد، معادله بصورت x = A-1b حل میشود. همچنین ماتریس همانی نوعی عملگر هویت در تبدیلات خطی است زیرا وقتی ماتریس همانی به یک برداری ضرب میشود، نتیجه همان بردار اولیه میشود و لذا عنصر خنثی در ضرب ماتریسی است. ماتریس همانی در تحلیل سیستمهای دینامیکی نیز به عنوان ماتریس شرایط اولیه استفاده میشود.
در این مقاله در مورد ایجاد ماتریس همانی مربعی و غیر مربعی، استفاده از آن در الگوریتم های فیلترینگ و پردازش سیگنال، استفاده از آن در حل معادلات دیفرانسیل و pca صحبت میکنیم. تمامی این موارد را در قالب مثال ها، کدها و خروجی های آنها آورده ایم تا موارد ملموس شوند. شما پس از اتمام مطالعه این مقاله میتوانید بخش مربوط به ماتریس همانی پروژه های متلب خود را به خوبی انجام دهید. اما اگر قصد داشتید به هر دلیلی انجام پروژه متلب خود را به شخص دیگری بسپارید، میتوانید به مجموعه پروژستان در این زمینه اعتماد کنید.
در نرم افزار متلب، ماتریس همانی با استفاده از دستور eye ایجاد میشود و در ابعاد دلخواه مربعی و غیرمربعی قابل تولید است و میتوان از آن در حل معادلات، تحلیل سیستمها و الگوریتمهای مختلف استفاده کرد.
مثال1- ایجاد ماتریس همانی مربعی (سطر و ستون برابر)
clc; clear; close all
n=4;
I = eye(n);
disp(I)
خروجی برنامه:
0 1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
توضیح:n ابعاد ماتریس همانی مربعی است و این دستور ماتریس همانی مربعی با ابعاد n x n تولید میکند. چون n=4 است، خروجی این دستور یک ماتریس همانی 4*4 است.
مثال2- ایجاد ماتریس همانی غیرمربعی (سطر و ستون نابرابر)
clc; clear; close all
n=2;
m=3;
I = eye(n,m);
disp(I)
خروجی برنامه:
1 0 0
0 1 0
توضیح: خروجی این دستور یک ماتریس همانی غیرمربعی 2*3 است که ماتریس همانی 2*2 در گوشه چپ آن قرار دارد و بقیه خانهها صفر هستند.
مثال3- استفاده به عنوان ماتریس فیلتر پایه (در الگوریتمهای فیلترینگ و پردازش سیگنال)
clc; clear; close all
n = 4;
A = rand(n); % یک ماتریس تصادفی n x n
I = eye(n);
B = A * I;
disp(B)
خروجی برنامه:
0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
توضیح: ماتریس حاصل B باید همان A باشد زیرا ماتریس همانی عملگر هویت در تبدیلات خطی است و وقتی ماتریس همانی به یک برداری ضرب میشود، نتیجه همان بردار اولیه میشود. چون از تابع رندوم برای ایجاد ماتریس A استفاده شده است ممکن است جوابهای شما متفاوت از مقادیر فوق باشد.
مثال 4- استفاده در حل معادلات دیفرانسیل
clc; clear; close all
n = 4;
A = rand(n);
B = eye(n);
x = inv(A) * B;
disp(x)
خروجی برنامه:
-4.2489 0.2758 3.9037 -0.5765
2.0125 -0.7509 -1.7436 1.2716
5.9166 1.1646 -5.8247 1.0970
-3.8803 -0.6322 5.2639 -2.0371
توضیح: در مثال فوق چون B = I مقدار خروجی معکوس ماتریس A خواهد بود که در روشهای حل معادلات دیفرانسیل کاربرد دارد. چون از تابع رندوم برای ایجاد ماتریس A استفاده شده است ممکن است جوابهای شما متفاوت از مقادیر فوق باشد.
مثال 5- تحلیل مولفههای اصلی (PCA ) با ماتریس همانی برای مرکزیت دادهها و تبدیل به فضای جدید
clc; clear; close all
data = rand(5, 2); % دادههای تصادفی
meanData = mean(data);
centeredData = data – meanData;
covMatrix = cov(centeredData);
[eigenVec, eigenVal] = eig(covMatrix);
خروجی برنامه:
eigenVec = -0.0699 -0.9976
-0.9976 0.0699
eigenVal = 0.0370 0
0 0.0631
توضیح: در مثال فوق برداریهای ویژه ایجاد شده است که در تحلیل مولفههای اصلی (PCA ) کاربرد دارد. چون از تابع رندوم برای ایجاد ماتریس A استفاده شده است ممکن است جوابهای شما متفاوت از مقادیر فوق باشد.
مطالعه مقالات زیر به علاقه مندان نرم افزار متلب پیشنهاد می شود.


