یکی از اساسی ترین قسمت ها در زمینه آموزش نرم افزار متلب، بحث ماتریس ها و نحوه استفاده از آنها در محیط متلب است. ماتریس ها یکی از اساسی ترین قسمت های کدنویسی در محیط متلب به شمار می رود.

در این قسمت مروری اجمالی بر آموزش مقدماتی متلب خواهیم داشت

روش های ساخت ماتریس

با استفاده از دستورات زیر می توان ماتریس های استاندار با ابعاد مورد نظر تولید کرد

 

ماتریس همانی

eye

ماتریس صفرها

zeros

ماتریس یک ها

ones

ایجاد ماتریس های قطری یا استخراج قطرها

diag

بخش بالا مثلثی ماتریس

triu

بخش پایین مثلثی ماتریس

tril

ایجاد ماتریس تصادفی

rand

ماتریس Hilbert

hild

ماتریس مربع جادویی

magic

ماتریس Toeplitz

toeplitz

 

دستور (rand(n ماتریس n * n تصادفی ایجاد می کند که درارایه های آن به صورت تصادفی ایجاد شده اند.

این درایه ها به صورت بی نظم بین صفر و یک توزیع شده اند در حالی که (rand ( n , m  ماتریسی m * n ایجاد می کند ( البته n  و  m  نشانگر اعداد مثبت می باشند) امتحان کنید.

(A = rand ( 3

(Rand (‘start’, 0 تولید کننده اعداد تصادفی را reset می کند.

(Zeros (m, n ماتریسی m * n  از صفر ها و (zeros(n ماتریسی n * n از صفر ها را تولید می کند. اگر Aیک ماتریس باشد، دستور((zeros ( size(A ماترسی صفری با ابعاد A تولید می نماید. اگر x یک بردار باشد(diag(x ماتریسی است که x قطر آن را تشکیل می دهد و اگر A یک ملتریس باشد ،( diag(A برداری شامل قطرA می باشد.

مثال :

x = 1 : ۵

(diag(x

(diag(a

((diag(size(A

ماتریس ها را می توان با استفاده از بکوک ها ایجاد نمود. ایجاد ماتریس ۵*۵ :

[((B = [ A, (zeros ( 3,2)) ; ( pi * ones (2,3)) , (eye (2

همان طور ک ه گفته شد (magic(n ماتریسی n*n ایجاد می کند که مربع جادویی نامیده می شود (سطرها، ستون ها و قطر ها دارای مجموعه یکسانی می باشند ). (Hilb(n یک ماتریس Hilbert و n * nایجاد می کند ؛ ماتریس Hilbert یکی از انواع ماتریس های ناموزون (ill-conditioned)است . ماتریس ها را به کمک حلقه for نیز می توان ایجاد کرد .

 

Triu  و tril   به ترتیب بخش بالا مثلثی و پایین مثلثی را استخراج می کنند.

(triu (b

 triu ( b) == b

دسترسی به زیر ماتریس ها :

از نماد (:) می توان برای دسترسی به زیرماتریس های یک ماتریس استفاده نمود. برای آزمودن آن ابتدا دستورات

(A = rand ( 3, ۳

(B = rand ( 2, ۵

که ماتریس های A 6*6 و B 6*4 را تولید می کند را تایپ کنید.

(A (1:4,3 بردار ستونی شامل چهار درایه اول ستون سوم A می باشد.

نماد (:) به تنهایی نشاندهنده کل سطر یا ستون است : (A(:,3 ستون سوم و (:,A(1:4 چهار سطر اول Aمی باشند.

می توان از بردارهای کامل دلخواه به عنوان زیرنویس استفاده نمود.

([A (: ; [2 4 شامل ستون های دوم و چهارم A  می  باشد . این گونه زیرنویس ها را می توان در هر دو طرف عبارت تخصیص دهی استفاده نمود :

(A( : ; [ 2 4 5 ] ) = B ( : ; 1 : 3

 

ستون های ۲ و ۴ و ۵ را با ستون اول ماتریس B جایگزین می کند. ستون دوم و جهارم ماتریس A را می توان د رماتریس ۲*۲ ی [۱ ۲ ; ۳ ۴ ] ضرب نمود :

[A ( : ; [2 4 ] ) = A ( : ; [2 ; 4] ) * [1 2 ; 3 4

 

زیر ماتریس روش بسیار ساده ای برای انجام  بسیاری از محاسبات است مثلا چرخش Givens سطرهای سوم و پنجم ماتریس برای صفر کردن درایه (A ( 3 , 1  را می توان به صورت زیر نوشت (با فرض غیر صفر بودن [norm([a  b) :

( a = A ( 5 , 1

(b = B ( 3 , 1

([G = [ a b ; -b a ] / norm([a  b

([A ( [5 3] , : ) = G * A( [ 5 3

همچنین می توانید به تمام درایه های یک زیر ماتریس، مقداری اسکالر تخصیص دهید.

A ( : ; [2 4] ) = 99

برای حذف کردن سطر و ستون های یک ماتریس می توانید به آن ها ماتریس تهی نسبت دهید:

([A ( : ; [2 4

در یک ماتریس، end اندیس آخرین مولفه است.

(x = rand (1 , 5

(x = x ( end : -1  : ۱