بازدید: ٣۵۴

افزایش و کاهش اندازه سایز یک ماتریس (آموزش MATLAB)

بازگشت به صفحه اصلی آموزش MATLAB

 

برخی مواقع می خواهید قسمتهایی از یک ماتریس را حذف کنید (به عبارتی دیگر سایز آن را کم کنید). از آنجایی که ماتریس ها نمی توانند ورودی خالی داشته باشند، تنها می توانید کل سطر یا کل ستون را حذف کنید. برای حذف یک سطر یا ستون کافی است یک مقدار خالی را به آن قسمت از ماتریس تخصیص دهید( به عبارتی دیگر بین یک جفت کروشه چیزی نوشته نشود). بعنوان مثال برای حذف دو ستون از ماتریس مثال قبلی کافی است دستور زیر را وارد کنیم:

 

تغییر سایز ماتریس

 

در آدرس دهی فوق تمامی سطرهای ستون دوم انتخاب می شوند سپس به ستونها یک مقدار خالی تخصیص داده می شود(به عبارتی دیگر حذف می شود) و در خاتمه ماتریس textMatrix به یک ماتریس 3x3 تبدیل می شود.

اگر یک یا چند عضو جدید ماتریس را خارج از سطرها و ستونهای موجود اضافه کنید، اندازه ماتریس بطور خودکار افزایش می یابد. سپس خود MATLAB سطرها و ستونهای کافی برای دربرگرفتن مقادیر جدید، اضافه می کند و سایر مقادیر سطرها و ستونهای جدید را با مقدار صفر پر می کند. بعنوان مثال، با افزودن روز چهارم در سطر چهارم و ستون یک، بطور خودکار سطر چهارم را که اولین عضو آن برابر با 4 است اضافه می کند و سایر مقادیر آن را صفر می گذارد.

 

دستورات مورد استفاده برای ماتریس ها

 

برای کار با ماتریس ها بهتر است با دستورات زیر نیز آشنا شوید:

 

Find(X>3)

برداری از اعداد ایجاد می کند که نشان می دهد کدام عضو در X بزرگتر از 3 می باشد(از آدرس دهی تک اندیسی استفاده می کند). [I,J]=find(X>3) در اینجا مشخص می کنید که شما دو خروجی می خواهید و دو بردار ایجاد می کند. بردار I که شماره های سطر و بردار J که شماره های ستون را ایجاد می کند. این تابع، نمونه ای از توابعی است که نشان می دهد می تواند متفاوت عمل کند و این به نوع خروجی مورد نظر شما بستگی دارد.

 

Size(X)

یک بردار 1x2 ایجاد می کند که اولین عضو آن تعداد سطرها و دومین عضو آن تعداد ستونها را نشان می دهد. از این تابع زمانی در برنامه ها استفاده می شود که اندازه یک ماتریس را نمی دانید.

 

Transpose(X)

این تابع سطرها و ستونها ماتریس X را جابه جا می کند به گونه ای که اولین سطر از ماتریس X می شود اولین ستون از ماتریس جدید و الی آخر. بعنوان مثال اگر X یک ماتریس 3x5 باشد، ماتریس جدید یک ماتریس 5x3 می شود.

به جای دستور transpose(x) می توانید از دستور x’ نیز استفاده کنید. این دستور همان نتایج را تولید می کند.

 

Sort(X)

ماتریس X بصورت ستونی از کوچکترین تا بزرگترین مقدار مرتب می شود. هر ستون بصورت جداگانه مرتب می شود.

 

Sortrows(X,3)

ماتریس X بصورت گروهی از مقادیر، در ستون سوم از کوچکترین تا بزرگترین مرتب می شود. ستون سوم بصورت مرتب است(sort شده) و مشاهدات در ستونهای دیگر مطابق و متناطر با مقادیر آن ستون می باشند. با وارد کردن یک مقدار منفی، مرتب سازی بصورت برعکس، از بزرگترین به کوچکترین مقدار انجام می شود.

این نکته را مدنظر داشته باشید که رشته های کاراکتری نیز می توانند ماتریس باشند. بنابراین بسیاری از دستورات ماتریس، از جمله تمامی دستورات فوق، بر روی رشته ها نیز عمل می کنند. مثلا دستور transpose(Sort(‘Matlab’)).

اکنون فرض کنید می خواهیم داده های موجود در ماتریس textMatrix را با درنظر گرفتن مقدار بارشی که در اولین مکان باریده است، مرتب کنیم(به عبارتی دیگر ستون دوم).  به همین منظور دستور زیر را وارد می کنیم:

 

تغییر اندازه ماتریس ها

 

اگر توجه داشته باشید ستون دوم به ترتیب صعودی می باشد. مقادیر موجود در ستون 1 و 3 هنوز مطابق با همان مقادیر موجود در ستون 2 می باشند (همانطور که قبلا مشاهده کردید). حال فرض کنید ما دستور زیر را به جای دستور فوق وارد کنیم:

 

ترتیب صعودی ماتریس ها

 

تمامی ستونها بصورت مستقل از یکدیگر مرتب می شوند و رابطه های بین مشاهدات در ستونهای دیگر از بین می روند. 

 

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

 

بازگشت به صفحه اصلی آموزش MATLAB

طراحی سایت و سئو توسط ضابط