معرفی تابع repmat در متلب


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

تابع repmat در متلب

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

نحوه‌ی قرار دادن ماتریس‌ها در کنار هم در متلب

حالت اول:

فرض کنید یک ماتریس a و یک ماتریس b داریم و میخواهیم ماتریس c را بصورت زیر ایجاد کنیم:

تابع repmat در متلب

تابع repmat در متلب

تابع repmat در متلب

 

خروجی c به نحوی است که a و b بصورت سطری در کنار هم قرار گرفته‌اند. در اینصورت باید بصورت زیر عمل کنیم:

تابع repmat در متلب

توجه داشته باشید باید تعداد سطرهای a و b برابر باشد.

 

حالت دوم:

فرض کنید که ماتریس a و b بصورت زیر است.

تابع repmat در متلب

تابع repmat در متلب

چون تعداد سطرها در این ماتریس باهم برابر نیست، نمیتوانیم بصورت سطری در کنار هم قرار دهیم، ولی میتوانیم بصورت ستونی این کار را انجام دهیم، چون تعداد ستون‌های هر دو ماتریس یکسان است. برای قرار دادن دو ماتریس بصورت ستونی در کنار هم از علامت “; ” استفاده میکنیم

تابع repmat در متلب

حالت سوم: 

فرض کنید دو ماتریس a و b بصورت زیر هستند:

استفاده از تابع repmat در متلب

استفاده از تابع repmat در متلب

در صورتی که بخواهیم ماتریس b را از روی ماتریس a بسازیم باید بصورت زیر عمل کنیم:

استفاده از تابع repmat در متلب

توجه کنید که اگر تعداد تکرارها زیاد باشد، نمیتوانیم به این صورت عمل کنیم و اینجاس که تابع repmat کمک کننده خواهد بود.

 

نحوه‌ی استفاده از تابع repmat

درصورت که تعداد تکرارها زیاد باشد برای سادگی کار و همچنین افزایش سرعت پردازش از  تابع repmat بصورت زیر استفاده میکنیم:

(B=repmat(A,rn,cn

A ماتریس ورودی است و قرار است این ماتریس در داخل ماتریس B  تکرار شود. rn  تعداد تکرار سطرها و cn تعداد تکرار ستون ها است.

برای مشاهده‌ی جزئیات بیشتر در مورد این تابع ویدئوی زیر را ببینید.

موفق باشید.


دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

code